win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4

先说一下我的需求:在win10中,显卡是3070的机器上,使用的IDE是Qt,实现基于open pose的旗语的检测。说白了就是自己编译一个能使用cuda加速的一个opencv,利用opencv的dnn模块的接口实现对深度学习模型的调用。在这里只记录一个环境配置的过程。

本机环境:win10  RTX3070  Qt 5.9.2 msvc编译器 

下面只记录比较重要的一些过程,给大家一些参考。

1、第一步,先安装QT。大部分安装Qt,就自带了里面的mingw编译器,但是想要编译能用cuda加速的opencv,我使用mingw编译器,没有把opencv编译成功。我猜大概是mingw搞定不了opencv +cuda的编译(不确定,猜想)。所以就安装vs了。肯定需要安装vs2015及其以上的版本,15,17,19三个版本中,查看了很多资料,了解到应该是2017在编译opencv中最不容易出现问题。最好是用vs2017。

如果你在安装QT过程中没有选择msvc2017的话,就应该得重新安装一下了。Qt配置msvc编译器的教程百度一下就可以。安装完记得配置一下QT 的环境变量。记住根据自己的Qt安装位置来配置。然后运行一下Qt能用说明第一步就完成了。

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第1张图片

2 第二步就是安装cuda和cudnn两个。安装这个两个时候要注意自己机器是什么显卡的,省的后期得重新装。这个涉及到显卡的算力问题。就像我的机器是3070的显卡,算力是8.6(根据自己显卡就能百度查)。必须配置cuda11.1及其以上的。比如cuda10.0就不行,最高算力7.5(别问我怎么知道的)并且cuda和cudnn也有版本的依赖。这些东西根据自己的显卡型号安装哪个版本都是要对应的。

可以用win+R  输入cmd  在黑窗口输出nvida-smi看一下驱动版本是啥,然后对应着找应该安装哪一个cuda。我是安装的cuda11,1。安装过程选择精简安装就行,最后默认c盘的安装路径。就是一个傻瓜安装的过程。

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第2张图片

 win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第3张图片

 安装完后根据cuda的版本号,选择适合自己的cudnn,一定要对应好。可以百度或者去官网查询。找到相应的版本cudnn后下载解压就行。然后把里面的bin、include、和lib/x64里面的东西剪切到cuda的安装路径里面的bin、include、和lib/x64。如果cuda是默认安装的话路径应该是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第4张图片

最后测试一下cuda和cudn是否都安装配置好了。

win+R cmd  nvcc -V。下面显示了版本就是表示cuda安装好了。

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第5张图片

然后到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite

路径里面。Shift+鼠标右键。输入下面绿框中的指令。然后在下面能出来pass。就说明cudnn也安装好了,此时第二步就弄完了。

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第6张图片

win10 vs2017编译opencv 4.5.4+cuda11.1+cudnn8.0.4_第7张图片

3、第三步就是编译opencv了。这是最重要的一步数。有空再慢慢写。

你可能感兴趣的