Linux 配置opencv、opencv-contrib环境

最近遇到需要使用Opencv来做的项目,之前也有做过但因为长时间未再做过,所以将环境配置方法几乎全都忘了个精光,今天将方法记录下来以供有同样需要的以及以后的我来参考
环境:

  • Parrot linux
  • opencv-4.1.0
  • opencv_contrib-4.1.0

首先自然是下载相应的源码包,opencv官方不提供linux下编译好的项目文件,所以我们只能下载源码包自己编译,可以选择到github下载相应的源码包地址:opencv github
在这里插入图片描述
首先是opencv下载opencv源码包,注意这里默认是最新版本,如果需要其他历史版本,可以选择releases
在这里插入图片描述选择source code下载源码包,我这里选择的是4.1.0版
在这里插入图片描述然后再回到opencv的github主页进入opencv-contrib,用同样的道理下载与刚刚opencv版本一致的contrib源码包,切记一定得是版本一致的,然后先解压opencv源码包,随后将contrib源码包解压到opencv源码包的解压目录下,例如我这里opencv的解压目录为:/home/pluviophile/myfile/opencv,两个包解压后的样子应该是这样
在这里插入图片描述
可以看到contrib的解压目录在opencv的解压目录下
然后在opencv解压目录下mkdir build新建一个目录,再cd build进入目录
执行cmake指令,另外在执行cmake指令前先确保安装了相应依赖

sudo apt install build-essential
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev

安装完依赖后,执行cmake

sudo cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.1.0/modules OPENCV_EXTRA_MODULES_PATH=../modules ..

不出意外的话,最后应该是这样
在这里插入图片描述
然后接下来自然就是最漫长的sudo make指令,然后便是无尽的等待…
问题
1.此过程中可能会报错:fatal error: boostdesc_bgm.i: 没有那个文件或目录,这是由于contrib编译缺少文件,可参考解决方法因为考虑到csdn下载大都需要积分,下载不方便,所以我将我整理到的需要的文件上传到了git上,可以直接下载(不要问我为什么吧git当网盘用…)
地址:pluviophile

2.还有可能报错:atal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory: 没有那个文件或目录将opencv解压目录下modules目录下的features2d目录连同里面的文件一起复制到build目录下

成功后
在这里插入图片描述

然后执行sudo make install指令,执行成功后
在这里插入图片描述
然后到/usr/local/lib/目录下,可以看到
在这里插入图片描述这些文件,这样就没有什么问题了

猜你喜欢

转载自blog.csdn.net/weixin_43815930/article/details/105873314