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/

     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

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

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

Linux —— OpenCv编译安装_第1张图片
     
     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

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

// 输出opencv版本
pkg-config opencv --modversion

// 输出opencv库,通过pkgconfig配置
pkg-config opencv --libs

在这里插入图片描述

关注

笔者 - jxd

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

在这里插入图片描述

你可能感兴趣的:(Linux,OpenCv,linux,opencv)