一、编译版本程序准备:
Windows10:
Visual Studio2017:
CUDA+CUDNN:
CMake3.23.2.0:
OPENCV4.5.0+opencv_contrib-4.5.0
:
下载地址:GitHub - opencv/opencv at 4.5.0
GitHub - opencv/opencv_contrib at 4.5.0
二、编译步骤与注意事项:
这里不讲述Visual Studio2017与CUDA+CUDNN安装方法。直接进行opencv的编译。
1、打开cmake配置opencv-4.5.0与build路径
点击Configure 弹框选择对应的编译器与编译32位还是64位的库,如图
选择之后点击Finish。
2、设置OPENCV_EXTRA_MODULES_PATH:设置对应版本的contrib模块的目录
3、勾选部分选项,第一次configure成功之后,勾选WITH_CUDA、OPENCV_DNN_CUDA、OPENCV_ENABLE_NOFREE、WITH_CUDNN、CUDA_FAST_MATH。根据自己的显卡计算能力选择CUDA_ARCH_BIN
4、再次点击Configure,成功之后查看如图所示是否又NVIDIA CUDA 和cuDNN。这两项都是YES的情况下,说明cuda版本的opencv编译成功,点击Generate生成。
三、运行VS生成对应的库文件:
1)cmake 生成完成之后点击Open Project或者直接找到对应的路径,打开OpenCV.sln
打开之后选择Release、x64。点击生成解决方案或者重新生成解决方案,编译过程较长,等一段时间之后没有报错-》编译完成。
2)生成动态与静态库(.dll/.lib)
如图所示右键INSTALL-》仅用于项目-》仅生成INSTAKLL
成功之后说明对应的库文件已经生成成功。
4、运行示例结果展示:
笔记本显卡是gtx 1060,运行的程序是通过opencv dnn模块调用yolov5的模型。测试结果如下图所示上图为cuda+dnn、下图为cpu版本的速度,单位都是秒(s):