opencv很多有专利保护非免费的算法都放入opencv_contrib模块,在用到这些函数时,需要安装opencv以及相应的opencv_contrib. 由于本人电脑之前配置过深度学习环境,装了cuda8.0,由于不兼容导致opencv、opencv_contrib安装出错,以下记录安装过程。
1. 下载opencv和opencv_contrib,下载地址不附自行下载,opencv_contrib文件夹放在opencv文件夹下
2.
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv340 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.1/modules -D BUILD_EXAMPLES=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D BUILD_TIFF=ON ..
3. 如果系统和我一样安装了cuda,为解决编译时由于cuda导致出错,可以按下面方法屏蔽cuda
sudo apt install cmake-gui
sudo cmake-gui
出现下面界面,按照下图的路径勾选(自己的)去掉WITH_CUDA和WITH_CUFFT
4.
make
sudo make install
5.make的时候遇到了下面问题,
linux/videodev.h : no such file or directory
解决方法是
sudo apt-get install libv4l-devel
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h