Opencv的源码编译
继上一篇Ubuntu16.04显卡驱动更新以及Cuda、Cudnn更新之后,再次更新本机上的Opencv版本。
源码编译
将本机上原有的Opencv版本升级到3.4.3的版本,首先下载源码安装包,这里主要包括两个文件:opencv-3.4.3和opencv_contrib-3.4.3,下载两个文件到本地统一路径下并解压。基本步骤如下:
cd /***/opencv-3.4.3
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_LIBV4L=ON -D WITH_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.3/modules -D BUILD_opencv_dnn=OFF ..
cmake 成功之后再 make -j 8
sudo make install
在make编译的过程中可能会出现一下错误
-
出现 fatal error: boostdesc_bgm.i: No such file or directory
下载相应的boostdesc_bgm源代码文件,并解压将所有的文件复制到opencv_contrib-3.4.3/modules/xfeatures2d/src/
路径下,然后make clean
再继续make -j 8
。 -
出现 fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
根据报错给的路径opencv-3.4.3/modules/stitching/include/opencv2/stitching/detail/matchers.hpp
并打开文件找到# include "opencv2/xfeatures2d/cuda.hpp"
处,并将改路径改为"/*****/opencv_contrib-3.4.3/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
绝对路径即可。
碰到类似这种找不到的问题,都可以按这种方式尝试解决。