最新 | OpenCV4.8 + CUDA + 扩展模块支持编译指南

2023-12-01 13:12:19 浏览数 (2)

微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识

软件版本支持

CMake3.13 或者以上版本

代码语言:javascript复制
https://cmake.org/

VS2017专业版或者以上版本

3050ti CUDA11.3

OpenCV4.8源码包

代码语言:javascript复制
https://github.com/opencv/opencv/releases/tag/4.8.0

OpenCV4.8 扩展模块源码包

代码语言:javascript复制
https://github.com/opencv/opencv_contrib/releases/tag/4.8.0

把OpenCV4.8与OpenCV4.8扩展包都解压缩到D盘,目录分别如下:

代码语言:javascript复制
D:opencv-4.8.0
D:opencv_contrib-4.8.0

编译生成

打开CMake,设置好如下的目录选项

然后点击【Configure】弹出对话框如下:

点击【Finish】完成 配置生成。然后点击【Generate】完成生成。

然后设置扩展模块路径

设置完成以后,搜索CUDA关键字,全部勾上相关选项之后继续点击【Configrure】,运行完成以后,再次搜索CUDA关键字,选择如下:

点击【Generate】,生成如下:

从newbuild文件夹中选择OpenCV.sln 工程文件 双击打开如下:

然后切换到Release模式,点击INSTALL右键生成,等待两个小时以后基本上会完成编译,我最终完成编译之后的结果。

技巧提示:

代码语言:javascript复制
1.无法下载第三方文件,请手动下载以后放到source/.cache文件夹内相关位置即可。
2.无需编译XFeature2D、FaceModel、Test等模块,统统取消勾选(默认是勾选的)

配置运行测试

重新配置好OpenCV CUDA的支持,修改包含目录、库目录、链接器,然后设置好新的环境变量路径。启动VS2017,运行OpenCV的人脸检测案例,运行结果如下:

运行YOLOv8 姿态评估案例,效果如下

其中在OpenCV中启用GPU推理执行,需要设置下面两行代码:

代码语言:javascript复制
net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);

推荐阅读

Ubuntu系统下编译OpenCV4.8源码记录

Pytoorch轻松学 – RetinaNet自定义对象检测

基于OpenCV实现精准线线间距测量

OpenVINO2023异步回调流水线提升推理吞吐率

NNCF压缩与量化YOLOv8模型与OpenVINO部署测试

技能 | 三种主流的深度学习模型部署框架

深度学习模型C 推理,推荐看看 OpenVINO2022

OpenCV4系统化学习路线图(2023版)

0 人点赞