首先,下载opencv 3.4.4 和opencv_contrib3.4.4
opencv3.4.4下载:https://github.com/opencv/opencv/releases
opencv_contrib3.4.4下载:https://github.com/opencv/opencv_contrib/tree/3.4.4
解压成文件夹,然后将opencv_contrib3.4.4复制到opencv3.4.4目录下
安装依赖项,见https://blog.csdn.net/zbr794866300/article/details/89845187
#在opencv344 的build文件夹执行,这里关闭了VTK,不编译opencv_viz,避免类似题目的vtk bug
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/lincent/MY_LIB/opencv-3.4.4/opencv_contrib-3.4.4/modules/ -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D BUILD_TIFF=ON -D WITH_VTK=OFF ..
#双线程编译
make -j2
#安装
sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf
#文件末尾添加
/usr/local/lib
sudo ldconfig
sudo gedit /etc/bash.bashrc
#在打开的文件末尾添加 用于 pkg-config
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
sudo updatedb
错误解决:
提示缺少boostdesc_bgm.i文件出错的解决
采用的是源码编译的方式,所以可以查看 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
1. https://github.com/opencv/opencv_contrib/issues/1301
ps: 不懂操作的,点开上面这个网址往下拉,有人提供了缺失的各个文件的链接,点击保存. 或者直接在这个网页里搜索 BenbenIO 这个用户的回复. 或者:
2. 百度网盘:https://blog.csdn.net/AlexWang30/article/details/99612188
错误2:
/usr/local/arm/opencv-3.4.0/opencv_contrib-3.4.0/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp:42:10:
fatal error: /opencv2/xfeatures2d.hpp: No such file or directory
#include "/opencv2/xfeatures2d.hpp"
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
根据给的路径找到xfeature2d.hpp的文件并打开,找到第42行,改为contrib中的绝对路径