为了使用opencv3中的 stitching_detailed.cpp 的 try_cuda 功能,需要将OpenCV带cuda重新编译。
最新整理:https://blog.csdn.net/chentianting/article/details/86610601
参考博客列表:
1.Ubuntu安装opencv 为调用gpu模块
https://www.cnblogs.com/beihaidao/p/6773595.html?utm_source=itdadao&utm_medium=referral
主要讲了如何得到 CUDA_ARCH_BIN,通过命令nvidia-smi
,确定我的gpu是GeForce RTX 2080,对应的 CUDA_ARCH_BIN=7.5
2.使用Cmake编译opencv源码遇到如下错误
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
https://blog.csdn.net/u014613745/article/details/78310916
3.buildOpenCVUbuntu 脚本文件
https://github.com/Alro10/buildOpenCVUbuntu/blob/master/buildOpenCV.sh
在这个脚本文件中主要将一些依赖项安装好,具体的cmake在本文末。
Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题
https://blog.csdn.net/weixin_41053564/article/details/81254410
4.cmake 带上-D WITH_NVCUVID=ON 出错
以下两个办法都试了:
ubuntu opencv带CUDA安装
http://www.cnblogs.com/imagezy/p/7156704.html
没有nvcuvid.h 文件Cuda 10.0 fatal error: dynlink_nvcuvid.h: No such file or directory
https://github.com/opencv/opencv_contrib/issues/1786
即改为:cmake -DWITH_NVCUVID=ON -DBUILD_opencv_cudacodec=ON ..
5.总结
下载好的对应版本的opencv_contrib-3.3.0 置于 opencv-3.3.0文件夹下
cmake 最终版:
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.0/modules/ \
-D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so \
-D CUDA_ARCH_BIN=7.5 \
-D CUDA_ARCH_PTX="" \
-D WITH_CUDA=ON \
-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 BUILD_EXAMPLES=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_NVCUVID=ON \
-D BUILD_opencv_cudacodec=OFF ..
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=…/opencv_contrib-3.3.0/modules/ -D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so -D CUDA_ARCH_BIN=7.5 -D CUDA_ARCH_PTX="" -D WITH_CUDA=ON -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 BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_NVCUVID=ON -D BUILD_opencv_cudacodec=OFF …