点击上方蓝字关注我们
微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识
前言
OpenCV开发者基本技能之一就是要从源码编译OpenCV生成各种裁剪版本的OpenCV库,同时根据需要编译源码生产支持CUDA加速版本的OpenCV库。
但是,很多开发者还是编译中会遇到各种问题,被迫放弃!可以说还没用CUDA加速就已经自我放弃啦!
所以周末我又重新编译了一遍,针对各种问题,帮大家理清了对策,帮助大家可以完成OpenCV CUDA编译,实现性能加速!
软件版本信息:
-Win10-VS2017-CMake 3.13.x-OpenCV 4.5.4-CUDA 11.0.x-cuDNN 8.2.0
OpenCV CUDA编译
整个编译过程主要分为三步:
下载源码,一定是Tag对应的版本跟扩展模块CMake阶段,解决无法下载的坑!去掉不必要的模块VS工程编译,生成lib与dll
下载源码:
https://github.com/opencv/opencvhttps://github.com/opencv/opencv_contrib
选择tag-4.5.4,
https://github.com/opencv/opencv/releases/download/4.5.4/opencv-4.5.4-vc14_vc15.exehttps://github.com/opencv/opencv_contrib/archive/refs/tags/4.5.4.zip
CMake:
打开CMake,设置源码路径跟目标路径:
上述选择表示编译为64位的库!
点击【Configure】,
然后再点击【generate】
完成之后,搜索cuda关键字,如上图,三个选项勾上,
然后再搜索opencv_ex, 设置扩展模块的代码路径,如上图!设置好之后再次点击【Configure】,完成之后:
搜索cuda,如上图勾选!
最后搜索:
xfeatures2dwechat_qrcodeface全部的TEST模块
默认是勾选的,全部不要选择!(去掉勾选!)
无法下载ffmpeg, ippicv问题解决:
D:opencv-4.5.4opencvsources3rdpartyffmpegffmpeg.cmakeD:opencv-4.5.4opencvsources3rdpartyippicvippicv.cmake
从上述两个文件拿到下载地址,直接下载完成之后,分别放到对应目录:
D:opencv-4.5.4opencvsources3rdpartyffmpegD:opencv-4.5.4opencvsources3rdpartyippicv
就一切OK了。
生成好VS工程文件之后,打开工程文件:
1. 先选择All_build – release x642. 再install 点击生成
第一步耗时比较久,大概1~2小时完成,不超过4小时!截图如下:
谢天谢地,终于编译好啦!
OpenCV CUDA配置与加速
基于最新编译好的OpenCV CUDA支持的库,重新配置OpenCV开发环境,对比YOLOv5部署,CPU运行推理测试结果如下:
添加两行代码,启用GPU运行推理测试结果如下:
this->net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);this->net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
显卡是3050ti!
对比一下,加速效果真得是杠杠滴!所以值得编译OpenCV CUDA支持,因为它不光加速深度学习模型推理,对传统图像处理均有加速!
完整视频教程
本人特别录制了一个完整的视频教程,B站地址如下:
https://www.bilibili.com/video/BV1ZT411J7zS?spm_id_from=333.999.0.0
读书谓已多
抚事知不足
扫码查看OpenCV OpenVIO Pytorch系统化学习路线图
推荐阅读
CV全栈开发者说 - 从传统算法到深度学习怎么修炼
2022入坑深度学习,我选择Pytorch框架!
Pytorch轻松实现经典视觉任务
教程推荐 | Pytorch框架CV开发-从入门到实战
OpenCV4 C 学习 必备基础语法知识三
OpenCV4 C 学习 必备基础语法知识二
OpenCV4.5.4 人脸检测 五点landmark新功能测试
OpenCV4.5.4人脸识别详解与代码演示
OpenCV二值图象分析之Blob分析找圆
OpenCV4.5.x DNN YOLOv5 C 推理
OpenCV4.5.4 直接支持YOLOv5 6.1版本模型推理
OpenVINO2021.4 YOLOX目标检测模型部署测试
比YOLOv5还厉害的YOLOX来了,官方支持OpenVINO推理