说明:在之前的教程(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
上面的命令里面相较与之前:
opencv3.4.7把版本改为了opencv4.5.0;
增加了-DWITH_NVCUVID=ON(这个是一定要增加的,否则执行硬解码时出现"throw_no_cuda"错误)
三、测试
python测试结果:
本文档详细介绍了如何在Ubuntu 20.04上编译CUDA支持的OpenCV 4.5.0版本,包括如何下载NVIDIA VIDEO CODEC SDK 10.0.26,并特别指出必须包含-DWITH_NVCUVID=ON选项以避免硬解码错误。成功编译后,分别进行了C++和Python的测试,确保了CUDA硬解码功能在两者中都能正常工作。
&spm=1001.2101.3001.5002&articleId=129021399&d=1&t=3&u=f449a5743c534ec9a3cb8f98cfffdc61)
604

被折叠的 条评论
为什么被折叠?



