windows上编译opencv使用cuda加速dnn模型推理

环境资源准备

本次编译环境是在windows11上使用VS2022+Cmake进行编译的。
硬件环境

GPU:笔记本端的RTX3060

软件环境:

Windows11
Visual Studio 2022 专业版
cmake-3.25.2

需要准备的资源如下:

1、opencv-4.7.0
2、opencv_contrib-4.7.0
3、cuda 11.6
4、cudnn 8.7.0

软件安装

VS的安装教程很多,不过多赘述,直接百度搜索教程,这里给出下载链接
Visual Studio 2022下载链接
cmake直接下载解压出文件夹,打开bin目录下的cmake-gui.exe就是这个程序了
cmake下载链接

Opencv源码下载

首先新建一个文件夹用于本次编译的总文件夹,这样好统管这些文档资源
opencv需要下载源码,本次使用的是opencv-4.7.0(是目前的最新版本),打开opencv的官网,下载sources资源文件。opencv下载链接
在这里插入图片描述
其次下载opencv_contrib-4.7.0的源码。opencv_contrib-4.7.0下载链接
下载相对应的版本即可。这样Opencv的资源就准备好了。

CUDA资源准备

其次就是安装CUDA环境,可以通过win+R输入cmd打开命令行,输入nvidia-smi可以查看支持的CUDA最高版本。
在这里插入图片描述
根据自己的硬件情况可以下载对应的版本。cuda ToolKit下载链接
在这里插入图片描述
选择如上图所示。下载后的运行程序进行安装配置,基本上都是一步一步下来,没什么特别。安装好后可以打开命令行输入 nvcc -V进行检测是否安装配置好。
在这里插入图片描述
能够正常的打印输出版本信息说明安装上了。
其次就是下载cudnn。这个下载需要注册账号登录,简单注册一下就可以了。cudnn下载链接
在这里插入图片描述
下载注意选择适用于cuda几的版本,我选上一个下载。在下载完后需要将该文件下的三个文件拷贝到你CUDA安装的目录下,这个自己安装的需要知道在哪里。
在这里插入图片描述
至此,所有的环境便准备好了,可以开始进行配置编译了。

进行编译

编译前新建一个文件夹,将opencv的两个源码包放进去,其次新建一个文件夹用于存放输出文件。如下图:
在这里插入图片描述

cmake构建

首先打开cmake_gui.exe程序,将opencv工程导入,选择文件的编译输出目录文档后,点击configure弹出的配置界面中选择你使用的vs编辑版本以及你当前的编译平台型号。
在这里插入图片描述
点击完成就会进行配置,该过程会访问外网进行一些资源文档的下载,大部分都会下载失败,至少我是这样的,差点在这里卡死直接放弃了。
1、一种方法是下载失败后就去输出文件夹下面有一个CMakeDownloadLog.txt的文档,里面有需要下载的相应链接,通过迅雷软件进行下载后放到.cache相应的目录文件夹下,替换掉下面的文件,并且名字要复制相同的,不然找不到。但是还是有一些文件下载不了,在这里卡死了放弃了。
2、直接使用别人下载编译好的.cache文件夹。我使用的opencv版本太高在网上没有找到相应的文件夹资源,基本上opencv4.5.0的比较多。所以尝试了一下把别人的资源使用到这上面,编译还是有报错,我是根据报错的信息找到该文件夹下的.cmke文件,修改了里面的参数一个一个解决了这些错误,最后成功的通过了编译。

配置编译选项

在第一次完成了configrue后就需要选择相应的编译选项,需要进行勾选相应的选型来设置是否需要编译该选模块。在search搜索框上搜索java将这些选型去掉,不需要编译。需要勾选BUILD_opencv_world、设置OPENCV_EXTRA_MODULES_PATH,需要设置环境的位置是opencv_contrib-4.7.0\modules的位置。
其次搜索CUDA,将选项框勾选后进行第二次的configrue,第二次configrue后需要修改CUDA_ARCH_BIN填写自己的显卡算力,自己的显卡算力可以去官网查询。查询链接
其次需要勾选CUDA_FAST_MATH,将OpenCV_GENERATE_SETUPVARS去除勾选。在进行第三次的configrue,在第三次编译后依旧会有一些警告,主要是一些模块的文件没找到,可以搜索该选项去除掉用不到的编译选项就可以编译通过。
最后点击generate就可以生成工程项目。

编译项目

打开工程项目,右击ALL_BUILD选项进行生成,其次就是漫长的等待,如果前面没弄好,这部编译就会出错,所以需要保证前面都成功。
在这里插入图片描述
在编译成功后右击INSTALL选项
在这里插入图片描述
等待安装成功,就可以运行项目进行测试。
基本上整个过程就是出现错误,查找错误,解决错误的过程。

记录下整个编译过程,防止以后忘掉,希望也能对你有帮助。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值