• Linux —— OpenCv编译安装


    背景

         在此之前本人使用OpenCv场景均在Windows系列系统下,那么也没有涉及到Cv加速部分,所以在该系统下OpenCv都是直接使用官方编译好的Release版本。而偶尔的在Ubuntu、Centos、麒麟系统使用OpenCv的情况,也是同事会预先对其编译好。

         于是今天趁着另一个项目的接触,笔者参考了其他同行的文章,边在Ubuntu虚拟机编译边写下这篇文章。以此来对你我提供或多或少的帮助。有不足之处,请一定提出,多谢。

    编译

         1、准备好Ubuntu虚拟机系统或其他Linux系统,下载OpenCv 3.4.0源码 (提取码:9uwl)

         2、下载好源码后,解压后进入该目录,创建build目录。

    // 解压opencv源码
    jxd@jxd-virtual-machine:~$ unzip opencv-3.4.0.zip
    
    // 进入解压源码目录
    jxd@jxd-virtual-machine:~$ cd opencv-3.4.0/
    
    // 在源码目录下创建build目录
    jxd@jxd-virtual-machine:~/opencv-3.4.0$ mkdir build
    
    // 进入build目录
    jxd@jxd-virtual-machine:~/opencv-3.4.0$ cd build/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

         3、编译

    // cmake配置
    jxd@jxd-virtual-machine:~/opencv-3.4.0/build$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    
    // 4个线程编译
    jxd@jxd-virtual-machine:~/opencv-3.4.0/build$ make -j4
    
    // 编译安装
    jxd@jxd-virtual-machine:~/opencv-3.4.0/build$ sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

              本步骤错误集合。(通常在此步出错后百度不出来的,更换OpenCv源码版本再尝试。)

    错误:
    	make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56...
    解决:
    	如下图,修改该源码内容。添加一个(char *)即可。
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
         
         4、验证编译

              此时终端输入"opencv_version",若可以查看OpenCv版本即为编译完成。
    在这里插入图片描述
         
         5、配置opencv环境变量

              (1)、编译完成后,会创建opencv.pc文件,搜索是否存在opencv.pc文件。若存在可继续执行后续步骤。若不存在则检查上面cmake部分的参数!
    在这里插入图片描述

              (2)、配置OpenCv库环境变量

    // 1、打开所有用户环境变量配置
    sudo vi /etc/profile
    
    	// 在/etc/profile文件最后,加入下面两行
    	export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    	export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    
    // 2、环境变量生效
    source /etc/profile
    
    // 3、搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件
    sudo ldconfig
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

              (3)、验证OpenCv是否安装成功

    // 输出opencv版本
    pkg-config opencv --modversion
    
    // 输出opencv库,通过pkgconfig配置
    pkg-config opencv --libs
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    关注

    笔者 - jxd

    微信公众号搜索 “码农总动员” 或 微信扫描下方二维码,了解更多你不知道的XX,O(∩_∩)O

    在这里插入图片描述

  • 相关阅读:
    oracle 还原被覆盖的视图
    UbuntuNAT内网穿透实现远程访问
    PHP 如何创建一个 composer 包 并在 项目中使用自己的 composer sdk 包
    Lua03——开发环境搭建
    (四)Redis高级(删除策略、服务器配置、高级数据类型)
    lv3 嵌入式开发-10 NFS服务器搭建及使用
    使用Selenium的WebDriver进行长截图
    hutool导入导出多sheet页的Excel
    为了元宇宙,Facebook下周要改名了?
    Flink SQL Regular Join 、Interval Join、Temporal Join、Lookup Join 详解
  • 原文地址:https://blog.csdn.net/automoblie0/article/details/125558673