编译opencv使用cuda加速:Ubuntu2204+5060显卡+cuda12.8+cudnn8.9.5.1+opencv4.12.0+opencv_contrib4.12

1、尝试过其他组合会报错,最终选择最新的opencv版本;

2、基本信息对照表:

3、详细步骤

3.1 下载opencv和opencv_contrib,地址如下:

opencv:Releases - OpenCV

opencv_contrib:Releases · opencv/opencv_contrib

3.2 需要cuda最低12.8,cudnn8.9.5.1地址如下:

CUDA Toolkit Archive | NVIDIA Developer

cuDNN Archive | NVIDIA Developer

3.3 需要Video_Codec_SDK_12.2.72,下载地址为:

Video Codec SDK Archive | NVIDIA Developer

3.4 修改opencv中的下载地址

https://raw.githubusercontent.com

替换为https://raw.staticdn.net,大概5处地方:

下面两个文件中的都需要替换

3.5编译过程:

# 解压文件
unzip opencv-4.12.0.zip
unzip opencv_contrib-4.12.0.zip
unzip Video_Codec_SDK_12.2.72.zip

# 把contrib移动到opencv目录
mv opencv_contrib-4.12.0 opencv-4.12.0

# 移动Video_Codec_SDK_12.2.72中的头文件到cuda12.8的include文件夹
cp ../../Video_Codec_SDK_12.2.72/Interface/*.h /usr/local/cuda-12.8/include/


# 编译命令,docker中注意修改路径host
cmake ..  
-D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D WITH_CUDA=ON 
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.8
-D ENABLE_FAST_MATH=1       
-D CUDA_FAST_MATH=1       
-D WITH_CUBLAS=1       
-D WITH_LIBV4L=ON       
-D BUILD_opencv_cudev=ON  
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.12.0/modules   
-D BUILD_opencv_python3=ON 
-D PYTHON3_EXECUTABLE=$(which python3)  
-D CMAKE_BUILD_TYPE=RELEASE  
-D BUILD_TESTS=OFF 
-D BUILD_PERF_TESTS=OFF   
-D CMAKE_CUDA_ARCHITECTURES="86;89;90;120"   
-D CUDA_ARCH_BIN="86;89;90;120"   
-D CUDA_ARCH_PTX="120"   
-D WITH_NVCUVID=ON   
-D WITH_NVCUVENC=ON   
-D CUDA_nvcuvid_LIBRARY=/home/kylin/JA/algo_cong/Video_Codec_SDK_12.2.72/Lib/linux/stubs/x86_64/libnvcuvid.so   
-D CUDA_nvidia-encode_LIBRARY=/home/kylin/JA/algo_cong/Video_Codec_SDK_12.2.72/Lib/linux/stubs/x86_64/libnvidia-encode.so


make -j16

# 默认安装到/usr/local
make install 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值