YOLOv5+QT5的UI界面开发
最终界面图:
环境配置
本文章基于python3.7的Annaconda中虚拟环境开发:
1.1 配置YOLOv5环境
https://github.com/ultralytics/yolov5
下载yolov5程序后,虚拟环境下运行:
activate v5
pip install -r requirements.txt
1.2 配置QT环境
pip install pyqt5 pyqt5-tools
UI界面设计
使用pyqt5自带的图形界面设计工具:designer,设计完成后,生成UI文件,然后转换成python代码,非常方便!
- 打开designer.exe ,创建Main Window; 界面设计三个按钮和一个文本框(显示图片),对应左侧的push button和label键,拖动即可创建。
- 界面布局设置: 为了自适应布局,也就是当放大、缩小窗口大小时,仍保持界面元素的比例,可以在空白位置,点击鼠标右键,选择 布局 –> 水平布局。 调整布局比例: 调整后如下所示: 最后保存,生成.ui文件,然后通过pyqt5提供的转换工具,将ui文件转换为python程序: pyuic5.bat -o main.py untitled.ui
YOLOv5结合QT5
上一步生成的main.py界面代码,后续再次基础上,结合yolov5中的detect.py中相应的检测代码即可。
在main.py中加入程序入口:
if name == ‘main’:
app = QtWidgets.QApplication(sys.argv)
ui = Ui_MainWindow()
ui.show()
sys.exit(app.exec_())
在Ui_MainWindow类中添加构造函数__init__;
这里主要是几个方法的调用,包括界面的搭建、槽函数的初始化、定时器的初始化、模型的初始化
图片检测
图片的选择与yolov5的检测,放在了一个方法中,检测结束后,将带有检测框的图片显示在文本框中
视频检测
视频选择与视频检测,在2个方法(都是slot)中处理,当选中了某个视频,定时器开启,然后视频检测的方法启动
摄像头加测
默认加载本机第一个摄像头
代码下载
链接:https://pan.baidu.com/s/1dARkDVdT7MM-nzVx1fBB7g
提取码:1234
工具打包为.exe可执行文件
虚拟环境下载 auto-py-to-exe 2.10.1
pip install auto-py-to-exe
之后进安装包打开auto-py-to-exe,脚本文件选择main.py文件,
之后在高级选项卡中,点击 --hidden-import 右侧的加号,然后填上 modles.yolo,否则,生成的 exe 运行时会报错误。
在我们做配置勾选的过程中,当前命令会显示对应的 pyinstaller 指令,如果你没有安装 auto-py-to-exe,只安装了 pyinstaller,那复制这行命令,同样也是可以打包成功的
如果没有报错,项目生成的 exe 文件会默认放在 output 下,双击exe文件,可正常使用!
版权归原作者 qq_41920323 所有, 如有侵权,请联系我们删除。