Ubuntu下opencv4.4 带CUDA的编译安装

opencv4.4下载:https://github.com/opencv/opencv/releases/tag/4.4.0

解压后,将opencv_contrib-4.4.0放入opencv-4.4.0的文件夹内。

cd opencv-4.4.0
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules .. \
    -DWITH_CUDA=1 \
    -DENABLE_FAST_MATH=1 \
    -DCUDA_FAST_MATH=1 \
    -DWITH_CUBLAS=1 \
    -DOPENCV_GENERATE_PKGCONFIG=1 \
    -DCUDA_GENERATION=Pascal ..

问题1:可能会出如下错误。

Ubuntu下opencv4.4 带CUDA的编译安装_第1张图片

IPPICV下载失败,查看CMakeDownloadLog.txt 获取下载地址https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

使用迅雷下载,将下好的.tgz文件放在opencv-4.4.0文件夹内,并修改/3rdparty/ippicv/ippicv.cmake的43行:

"file:///home/ycc/opencv-4.4.0/"
#"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

问题2:可能还会出现缺少boostdesc_bgm.i 等等文件,下面链接百度云盘下载这个文件后,放入到"..\modules\xfeatures2d\src"目录下,继续编译。(注:下载的所有文件都需要拷贝,文件都需要。)

百度云资料:https://pan.baidu.com/s/1SmRMg_aydPYOJ1jKNjGZPw,密码:z7dp

:如果还是不行,可以将以上文件放入  /opencv-4.4.0/build/downloads/xfeatures2d/ 中

重新cmake,成功如下图。

Ubuntu下opencv4.4 带CUDA的编译安装_第2张图片

 

可看是否编译了cuda和cudnn。

Ubuntu下opencv4.4 带CUDA的编译安装_第3张图片

然后,make编译。

sudo make -j4

最后,安装。

sudo make install

安装成功。

可能出现的问题1:Ubuntu下opencv源码编译安装后,却出现ImportError: No module named cv2问题。

解决办法: https://blog.csdn.net/qq_34717531/article/details/108104922 

可能出现的问题2:编译完成但是使用报错:classes, confidences, boxes = net.detect(image, confThreshold, nmsThreshold)
cv2.error: OpenCV(4.4.0) /home/ycc/opencv-4.4.0/modules/dnn/src/dnn.cpp:2353: error: (-216:No CUDA support) OpenCV was not built to work with the selected device. Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration. in function 'initCUDABackend'

解决办法:https://blog.csdn.net/qq_34717531/article/details/108735629

可能出现的问题3:编译正常,使用正常,但某天突然报错:

[ WARN:0] global /tmp/pip-req-build-sw_3pm_8/opencv/modules/dnn/src/dnn.cpp (1429) setUpNet DNN module was not built with CUDA backend; switching to CPU

解决办法:https://blog.csdn.net/qq_34717531/article/details/108354905

 

 

你可能感兴趣的:(opencv,cuda,opencv,cuda,编译)