Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

前言:

为了测试硬件加速,笔者找了一个台N卡的机器,并尝试编译带硬件加速的openCV库,虽然中间出了不少问题,但还是成功编译出来,有需要的小伙伴可以参考下

一、安装cuda

在安装前,要先安装VS及C++开发相关组件,笔者安装的是VS2019社区版

cuda下载地址:CUDA Toolkit 11.6 Update 2 Downloads | NVIDIA Developer

具体应该下载哪个版本,需要读者自己查看自己的显卡型号,笔者的是GTX 1660 Ti

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

笔者下载的是cuda_11.6.2_511.65_windows.exe

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

安装包有点大,然后默认安装即可。安装时要注意,杀毒软件会阻止某些安装,需要放行下

二、下载cudnn

cudnn的下载需要根据cuda的版本下载

下载地址:https://developer.nvidia.com/rdp/cudnn-download

笔者下载的是windows下的版本

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

下载后,需要解压到一个无空格或中文的目录中

三、安装需要的软件

1.安装git

这方便教程很多,不再重复。笔者使用的是git2.33

2.安装cmake

这个教程也很多,但笔者没有安装,使用的是Qt安装时,下载的

四、下载所需要的资源

1.下载opencv4.5.5源码

https://gitcode.net/opencv/opencv/-/archive/4.5.5/opencv-4.5.5.zip

2.下载opencv_contrib-4.5.5源码

OpenCV / opencv_contrib · GitCode

3.wechat_qrcode模型

detect.caffemodel

detect.prototxt

sr.caffemodel

sr.prototxt

4.xfeatures2d

boostdesc_bgm.i

boostdesc_bgm_bi.i

boostdesc_bgm_hd.i

boostdesc_binboost_064.i

boostdesc_binboost_128.i

boostdesc_binboost_256.i

boostdesc_lbgm.i

vgg_generated_48.i

vgg_generated_64.i

vgg_generated_80.i

vgg_generated_120.i

五、 生成make文件

在设置好环境变量的cmd中执行(请按实际目录执行)

D:\Qt\Tools\CMake_64\bin\cmake-gui.exe

打开如下窗口

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

点击configure,弹出如下窗口

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

以上是笔者的设置,点击Finsh

之后就是等待完成,此过程时间有点长

configure完成后,修改配置选项

以下是笔者感兴趣的选项

安装目录(生成的动态库的目录)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

是否生成动态库

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

是否生成付费相关的部分

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

添加扩展库,注意要具体到modules目录

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

勾选与cuda相关的库

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

添加Qt库(添加后,opencv相关UI会有更多控制选项)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

再次点击configure后,会提示输入Qt的目录、cudnn相关库目录

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

笔者的目录是D:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5,请大家不要出错,不是bin目录

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

cudnn相关的目录,需要 选择之前下载的目录,注意不要选错了,特别是不要选成32位的库,要选择64位的库

这个笔者输入的是7.5,具体需要到英伟达官网上查询

查询地址:CUDA GPUs | NVIDIA Developer

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

继续点击configure(可以多点几次,有时多点几次就可以下载成功),

若输出中仍然存在红色的文字,打开编译目录,找到日志文件CMakeDownloadLog.txt,查看缺少或下载失败的文件,下载完成后,按日志文件的提示,放入指定目录即可

笔者已下载缺少的文件,处理方法如下

把downloads和testdata两个目录,直接放在编译目录(笔者已整理好内部目录)

再次点击configure,此时应该不会有红色的文字了(若存在,请自主解决)

点击generate,生成makefile文件

六、编译源码

在源码输出目录找到OpenCV.sln,使用VS打开

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

些过程耗时较长,笔者等待了两小时左右

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

生成完成后,就可以在安装目录找到已生成的动态库,笔者在编译输出目录下的install

因时间关系,笔者本次就不添加测试程序了

笔者已生成动态库(不带world)

七、带world选项的源码编译

为平时测试方法,不需要引用太多的库,笔者尝试编译带word选项的库,前几次编译未成功,但在移除cvv模块后,编译成功

操作如下,在CMake gui中,勾选world

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

同时取消勾选cvv

Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

其他 配置不变,再次等待Configure,然后正常编译,

因为是编译到一个库中,耗时更长长,笔者等待了一小时左右

笔者已生成的动态库(带world和不带world)

为方便小伙伴测试,不带cuda的版本下载

后记:

笔者第一次在win10下编译带cuda加速的openCV库,自然也没测试,下一篇笔者要记录下简单的测试

Original: https://blog.csdn.net/aggs1990/article/details/124167901
Author: ꧁白杨树下꧂
Title: Qt+openCV学习笔记(十一)Qt5.15.2+openCV4.5.5+MSVC2019+cuda编译动态库(使用中国源)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/704893/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球