Ubantu18.04安装opencv4.0.0和opencv_contrib 4.0.0解决方案汇总
一、安装依赖
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
二、opencv4.0.0和opencv_contrib 4.0.0安装包下载
1.从github网站下载
opencv4.0.0:
https://github.com/opencv/opencv/archive/4.0.0.zip
opencv_contrib4.0.0:
https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
2.我分享的百度网盘链接
opencv4.0.0:
链接: https://pan.baidu.com/s/1izkAK2QrZNg8NFBupoBUmQ 提取码: 3kib
opencv_contrib4.0.0:
链接: https://pan.baidu.com/s/19qZ-jR0KG9ZJ0A28cl5INg 提取码: se4j
三、配置opencv
1.提取解压到主目录下,将 opencv_contrib-4.0.0 放到 opencv 里面
2.在opencv目录下右键打开终端,新建一个build目录
mkdir build
cd build //进入build目录
3 .在build目录下cmake
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/isoil666/opencv/opencv_contrib-4.0.0/modules ..
//其中路径名/isoil666/替换为自己的
或者通过cmake-gui工具,这行cmake命令可能不包含OPENCV_ENABLE_NONFREE模块(SURF专利)。
先sudo apt-get install cmake-qt-gui,再进入CMake的图形化界面,按照参考里的4、6步操作。
4 .在build目录下make一下
make
sudo make install
编译出错1:提示缺少boostdesc_bgm.i文件
~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory
解决方式:
采用的是源码编译的方式,所以可以查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词 (不是在文件夹中搜索),
发现这个文件下载失败了。日志文件里就有它的下载地址,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
总共缺了以下几个文件,都需要拷贝:
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
或者从我分享链接中下载:
链接: https://pan.baidu.com/s/1_63xJ9KSlQTmLgHGf35QXw 提取码: ek3z
下载解压,将其中的文件全复制到opencv_contrib/modules/xfeatures2d/src/ 下,再重复第4步。
报错2:编译时头文件不对
fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录
#include “features2d/test/test_detectors_regression.impl.hpp”
解决方式:
1)将opencv-4.0.0/modules/features2d/test/文件下的
test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp
拷贝到opencv_contrib-4.0.0/modules/xfeatures2d/test/文件下。
2)将opencv_contrib-4.0.0/modules/xfeatures2d/test/test_features2d.cpp文件下的
#include “features2d/test/test_detectors_regression.impl.hpp”
#include “features2d/test/test_descriptors_regression.impl.hpp”
改成
#include “test_detectors_regression.impl.hpp”
#include “test_descriptors_regression.impl.hpp”
3)将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cp
p文件下的
#include “features2d/test/test_detectors_invariance.impl.hpp”
#include “features2d/test/test_descriptors_invariance.impl.hpp”
改成
#include “test_detectors_invariance.impl.hpp”
#include “test_descriptors_invariance.impl.hpp”
5.配置环境变量
1)安装成功后还需要设置opencv4的环境变量。打开文件:
sudo gedit /etc/ld.so.conf.d/opencv4.conf
2)将以下内容添加到最后:
/usr/local/opencv4/lib
(这里既然选择了**/usr/local/opencv4/lib**作为路径,参考其他教程时/usr/local/lib都替应该是/usr/local/opencv4/lib)
3)接下来配置库,更新pkg-config:
sudo