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

描述

软件版本支持

CMake3.13 或者以上版本

https://cmake.org/
  VS2017专业版或者以上版本 3050ti + CUDA11.3 OpenCV4.8源码包
https://github.com/opencv/opencv/releases/tag/4.8.0
  OpenCV4.8 扩展模块源码包
https://github.com/opencv/opencv_contrib/releases/tag/4.8.0
把OpenCV4.8与OpenCV4.8扩展包都解压缩到D盘,目录分别如下:  
D:opencv-4.8.0
D:opencv_contrib-4.8.0

 

编译生成

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

OpenCV

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

OpenCV

点击【Finish】完成 配置生成。然后点击【Generate】完成生成。   然后设置扩展模块路径

OpenCV

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

OpenCV

  点击【Generate】,生成如下:

OpenCV

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

OpenCV

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

OpenCV

  技巧提示:

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

 

配置运行测试

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

 

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

 

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

net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);

 

 

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分