QtGUI+YOLOv4+VS2017 《图形界面+目标检测gpu版本》

参考:https://blog.csdn.net/weixin_42448226/article/details/105752224

一、运行环境

win 10
vs 2017(若是vs 2019,则需要安装更高版本的qt,可自行百度安装配置)
qt 5.9.x(自己:5.9.6)
opencv >= 3.0 (optional)
cuda >= 10.0(optional)
cudnn >= 7.0 for cuda 10(optional)
黑体为必要的运行环境。

二、下载安装Qt 5.9.x

点击下载)。笔者下载的是5.9.6版本(只要是5.9系列均可),点击“…x86-5.9.6.exe”文件进行下载:

在这里插入图片描述
下载完成后双击qt安装包,进入安装页面:
qt安装页面
step 1 点击“next”
step 2 “注册”–>“邮箱验证”–>“登陆”
step 3 “下一步”
step 4 选择“安装路径”,自定义,选择空文件夹,点击“next”
step 5
点击展开 Qt 5.9.6,可参考[原作者]安装:
在这里插入图片描述
(我默认了完全安装,太大了,无奈。。。)
tools组件按默认设置,无操作
点击“下一步”
step 6 接受“协议”,点击“下一步”
step 7
点击“下一步”,完成“安装”

三、VS2017安装Qt vs tools

打开VS2017,选择工具 -> 拓展和更新:
选择联机->搜索qt->下载qt vs tools:(自己耗时很久)

下载完毕后点击“关闭”。
重启vs 2017,会出现如下界面,点击“修改”,安装完毕后点击“关闭”,进入vs:
在这里插入图片描述

四、VS2017配置Qt

进入vs 2017,菜单栏点击“qt vs tools”,选择“qt options”,点击“add”添加:
在这里插入图片描述
在这里插入图片描述
测试配置是否成功。打开vs 2017,菜单栏选择“文件”-“新建”-“项目”:
在这里插入图片描述
右击.ui文件,点击“打开方式”,将qt designer设为默认值,再双击.ui文件就可以打开qt designer:

在这里插入图片描述
在这里插入图片描述

五、编译yolo为C++ dll文件

 yolov4项目地址:[darknetAB](https://github.com/AlexeyAB/darknet)

下载项目到本地:
下载权重文件:yolov4.weight 提取码:4mic

GPU版本: 需已安装cuda、cudnn。VS中打开 darknet-master\build\darknet\yolo_cpp_dll.sln 文件,右击“项目”->“属性”->“C\C++”->“预处理器”->“预处理器定义”,首行添加“CUDNN"及opencv。接着以“x64 release”方式编译(即菜单栏“生成”->“生成解决方案”):
在这里插入图片描述
若cuda版本不是10.0,则以记事本方式打开 darknet-master\build\darknet\yolo_cpp_dll.vcxproj,组合键ctrl+f搜索“cuda 10.0”,将两处“cuda 10.0”改为自己的cuda版本,例如“cuda 10.1”,之后重新编译yolo_cpp_dll.sln。

CPU版本: 参考原文

编译完成后,将在 darknet-master\build\darknet\x64 路径下得到以下文件,同一时间只能选择”gpu“或者”cpu“版本中的一种编译使用,因为编译生成的文件名字是一样的:
在这里插入图片描述
编译得到的文件为备用使用。对于GPU版本,原文笔者的cuda版本是10.1,因自己的cuda版本不是10.0,所以需将生成的dll和lib文件分别替换到 ./3rdparty/libdarknet/bin/release/gpu./3rdparty/libdarknet/lib 文件夹下。

六、qt编写图形界面,并加载动态链接库

项目地址:Yolov4-QtGUI
项目结构:
- 3rdparty 存放相关头文件和库文件,下载链接:3rdparty 提取码:f1vo (解压到Yolov4-QtGUI项目目录下)

    -   **assets** 存放测试结果图片等

    -   **config** 存放属性文件

    -   **QtGuiDemo** 存放主文件。

    -   **x64**   (将下载的权重文件yolov4.weight放置在 x64\model 目录下)

VS中打开 Yolov4-QtGUI\QtGuiDemo.sln 文件

GPU版本:修改属性文件yolov4.prop (一个配置文件),
项目属性设置:"链接器”->“输入”->“附加依赖项”->yolo_cpp_dll_cpu.lib 。在"release x64"模式下,
在这里插入图片描述
在这里插入图片描述
菜单栏点击"生成"->"生成解决方案",(此时生成解决方案出错,解决见后)
并将
- 3rdparty\libdarknet\bin 路径下的 pthreadGC2.dll、pthreadVC2.dll
- 3rdparty\libdarknet\bin\release\gpu 路径下的 yolo_cpp_dll.dll
- 3rdparty\libopencv\bin 路径下的 opencv_world342.dll
复制到Yolov4-QtGUI\x64\release目录下。

在这里插入图片描述
CPU版本:修改属性文件yolov4.prop,"链接器”->“输入”->“附加依赖项”->yolo_cpp_dll_cpu.lib。在"release x64"模式下,菜单栏点击"生成"->"生成解决方案",并将
- 3rdparty\libdarknet\bin 路径下的 pthreadGC2.dll、pthreadVC2.dll
- 3rdparty\libdarknet\bin\release\cpu 路径下的 yolo_cpp_dll.dll
- 3rdparty\libopencv\bin 路径下的 opencv_world342.dll
复制到Yolov4-QtGUI\x64\release目录下。

**运行项目。**双击x64\Release目录下的QtGuiDemo.exe文件。
成功:
在这里插入图片描述
七、遇到问题及解决:
1、在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如:我在D:\Qt\Qt5.9.6\5.9.6\msvc2017_64\bin目录下执行命令:windeployqt.exe E:\YOLO+GUI\Yolov4-QtGUI-master\x64\Release\QtGuiDemo.exe

2、若此时出现问题:
**warning:**Cannot find Visual Studio installation directory,VCINSTALLDIR is not set.
在系统变量中添加:
设置环境变量VCINSTALLDIR的值为VS目录,比如我的
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VCC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
gpu version:yolov4_gpu 提取码:d6lz
解压后运行release目录下的exe文件即可

运行结果截图:
在这里插入图片描述
3、项目生成时出错:
There’s no Qt version assigned to this project for platform x64. Please use the 'change Qt version
解决:
右击解决方案—》change Qt version 改为当前的版本即可
再次生成解决方案,成功
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Cherry CSL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值