安装步骤
- GitHub上面下载opencv以及对应的扩展模块opencv_contrib,注意下载相应版本。
- 在Download文件夹下创建opencvBuild,在opencvBuild下创建build文件夹,将opencv以及opencv_contrib解压后获得的文件夹移动到opencvBuild文件夹下并更改名字为opencv和opencv_contrib。
- 安装相关依赖环境,执行下面的命令即可。
sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
- 移动到opencvBuild/build文件夹下,执行下面的命令,cmake将进行配置,. ./opencv表示Cmaklists所在文件夹,CMAKE_INSTALL_PREFIX表示安装的目标路径, OPENCV_EXTRA_MODULES_PATH表示opencv_contrib所在路径
cmake -D CMAKE_BUILD_TYOE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/opencv -D INSTALL_C_EXAMPLES=ON -D OMSTALL_PYTHON_EXAMPLES=ON -D OPENCV_GENETAYE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D BUILD_EXAMPLES=ON ../opencv
如果需要CUDA模块,则需要添加如下内容(目前还未测试)
-D BUILD_opencv_cudacodec=ON
-D WITH_CUDA=ON
-D WITH_CUDNN=ON
-D OPENCV_DNN_CUDA=ON
-D CUDA_ARCH_BIN=8.6
其中CUDA_ARCH_BIN表示显卡算力,可以在官网(https://developer.nvidia.com/cuda-gpus)进行查看
此处借鉴https://blog.csdn.net/tracelessle/article/details/108209710
5. opencvBuild/build文件夹下, 选择线程数进行编译,当前选择为8线程,可以根据自身电脑进行修改。
make -j8
- 执行命令,完成安装,可以在/opt/目录下查看到opencv文件夹
sudo make install
- 配置环境变量
# Opencv
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/opencv/include/opencv4
export LIBRARY_PATH=$LIBRARY_PATH:/opt/opencv/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/opencv/lib
安装时存在的问题
- 编译时缺少boostdesc_bgm.i等文件
可以查看build文件夹下CMakeDownloadLog.txt,如图所示,可以找到相应文件的下载路径,也可以上网查找资源,将相关文件放置到opencv_contrib/modules/xfeatures2d/src下,注意版本对应。
- 编译时,缺少feature2d/test/test_detectors_regression.impl.hpp等文件
复制opencv / modules / features2d到build目录中来解决该问题,然后继续执行make。