win10下Opencv源码编译支持CUDA加速的Python环境,超级详细教程!

系列文章目录

win10下Opencv源码编译支持CUDA加速的Python环境,超级详细教程!
win10下对编译完成后opencv_cuda进行移植


环境准备

1 vs2015
2 anaconda+Python3.7.4+numpy
3 cuda和cudnn环境(cuda10.0+cudnn7.6.5)
4 cmake
5 OpenCV4.5.0以及OpenCV-contrib4.5.0压缩包
OpenCV4.5.0下载地址
https://www.bzblog.online/opencv/opencv-4.5.0/
在这里插入图片描述

OpenCV-contrib4.5.0下载地址:
https://www.bzblog.online/opencv/opencv_contrib/
在这里插入图片描述

cmake编译

将下载的exe文件进行安装,zip压缩包解压,得到如下目录;
在这里插入图片描述
进入OpenCV目录下,新建一个文件夹gpubuild,作为cmake编译文件存放目录。
打开cmake,目录选择如下:
在这里插入图片描述
完成后点击Configure
第一次运行,记得参数选择x64
在这里插入图片描述
点击Finish
等待configure完成,在这个界面中进行如下更改:
将build_java勾选取消、build_tests勾选取消、with vtk勾选取消
在这里插入图片描述
勾选上这个OPENCV_ENABLE_NONFREE
在这里插入图片描述
然后添加contrib的目录:
在这里插入图片描述
然后根据自己的anaconda中Python和numpy的路径来进行如下配置:
在这里插入图片描述
到这一步Python的环境就配置好了,接下来配置GPU环境:
勾选上WITH_CUDA
在这里插入图片描述
由于没有WITH_CUDNN,因此就手动添加,点击Add Entry进行如下设置
在这里插入图片描述
搜索cuda关键字
在这里插入图片描述
点击config运行之后,再点击generate安装,如果一切OK即可完成CMake部分;
在这里插入图片描述

注意事项

第一次编译的新手会遇到各种问题,其中最常见的一个网络问题就是无法下载第三方库,导致CMake编译失败,这里时候需要手动下载一下;
在这里插入图片描述

保证opencv\sources\.cache目录下的每个文件都不为0kb(0kb代表下载缓存失败)
需要到CMakeDownloadLog.txt查看缺失哪些文件
在这里插入图片描述
下载完成之后通过cmd命令查看对应文件的哈希值,如一致则将文件命名为:md5-文件名,删除原来为0KB的文件;

certutil -hashfile 文件绝对路径 MD5

在这里插入图片描述
重复上述操作,确保sources\.cache所以文件都下载了。

查看确保txt没有未下载项
在这里插入图片描述

vs2015编译

在这里插入图片描述

切换到release模型下,右键点击ALL_BUILD选择【生成….】运行完成
在这里插入图片描述
再次右键选择install,选择【生成…】这两次过程都会比较漫长,编译完成之后,就会得到intall目录,我们需要的就是它,其它都可以删掉了。这样我们就完成了OpenCV CUDA的编译。
那么这个Python版本的OpenCV是否已经安装了,实际上在点击install进行生成的时候,就已经把Python版本的OpenCV模块安装到Python环境中去了。
在这里插入图片描述

不过通过这种方式安装的Python版OpenCV通过pip list却无法显示出来,因为这个命令只能显示通过pip安装的模块,但是却是可以使用的。
在这里插入图片描述

测试结果对比

在yolov4推理代码中添加GPU调用代码

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

CPU版推理时间
在这里插入图片描述
GPU版推理时间
在这里插入图片描述
加速推理效果还是很明显的!!!

参考博客:
https://blog.csdn.net/weixin_39717367/article/details/112118885
https://blog.csdn.net/qq_37781464/article/details/110078370

如果阅读本文对你有用,欢迎关注点赞评论收藏呀!!!
2021年2月23日12:42:43

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值