算法开发:编译支持cuda的opencv(python,c++硬解码测试通过)

本文档详细介绍了如何在Ubuntu 20.04上编译CUDA支持的OpenCV 4.5.0版本,包括如何下载NVIDIA VIDEO CODEC SDK 10.0.26,并特别指出必须包含-DWITH_NVCUVID=ON选项以避免硬解码错误。成功编译后,分别进行了C++和Python的测试,确保了CUDA硬解码功能在两者中都能正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:在之前的教程(https://blog.csdn.net/suanfaxiazai/article/details/128656784?spm=1001.2014.3001.5501)已经教学如何编译cuda版本的opencv(3.4.7)(c++测试硬解码通过,但不支持python),现在编译cuda版本opencv4.5.0(在ubuntu20.04下,支持c++和python硬解码)。

一、下载安装NVIDIA VIDEO CODEC SDK(一定注意opencv4.5.0要用10.0.26版本的video sdk,否则mpeg-4 编码的视频解码时会报版本错误)

(请参照https://blog.csdn.net/suanfaxiazai/article/details/128656784?spm=1001.2014.3001.5501的第一步骤)

二、下载编译opencv4.5.0

终端执行

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
mkdir -p build && cd build
cmake  -DOPENCV_GENERATE_PKGCONFIG=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.1/ -DWITH_PYTHON=ON -DBUILD_TIFF=ON -DWITH_CUDA=ON -DWITH_CUDNN=ON -DOPENCV_DNN_CUDA=ON -DWITH_CUBLAS=ON -DWITH_TBB=ON -DOPENCV_DNN_CUDA=ON  -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_OPENCV_PYTHON2=OFF -DCUDA_ARCH_BIN=8.6  -DWITH_MFX=ON -DWITH_OPENGL=ON -DOPENCV_CUDA_ARCH_PTX="" -DINSTALL_PYTHON_EXAMPLES=ON -DBUILD_JAVA=OFF -DWITH_NVCUVID=ON -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.0/modules ../opencv-4.5.0
make -j4
make install

上面的命令里面相较与之前:

  1. opencv3.4.7把版本改为了opencv4.5.0;

  1. 增加了-DWITH_NVCUVID=ON(这个是一定要增加的,否则执行硬解码时出现"throw_no_cuda"错误)

三、测试

  1. c++测试参照之前的博客: https://blog.csdn.net/suanfaxiazai/article/details/128656784?spm=1001.2014.3001.5501

  1. python测试结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值