YOLOv5+QT5界面应用开发

YOLOv5+QT5的UI界面开发
最终界面图:
YOLOv5+QT5界面应用开发_第1张图片

环境配置

本文章基于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代码,非常方便!

  1. 打开designer.exe ,创建Main Window;
    YOLOv5+QT5界面应用开发_第2张图片
    界面设计三个按钮和一个文本框(显示图片),对应左侧的push button和label键,拖动即可创建。
  2. 界面布局设置
    YOLOv5+QT5界面应用开发_第3张图片
    为了自适应布局,也就是当放大、缩小窗口大小时,仍保持界面元素的比例,可以在空白位置,点击鼠标右键,选择 布局 –> 水平布局。
    调整布局比例:
    YOLOv5+QT5界面应用开发_第4张图片
    调整后如下所示:
    YOLOv5+QT5界面应用开发_第5张图片
    最后保存,生成.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文件,
YOLOv5+QT5界面应用开发_第6张图片
之后在高级选项卡中,点击 --hidden-import 右侧的加号,然后填上 modles.yolo,否则,生成的 exe 运行时会报错误。
YOLOv5+QT5界面应用开发_第7张图片
YOLOv5+QT5界面应用开发_第8张图片

在我们做配置勾选的过程中,当前命令会显示对应的 pyinstaller 指令,如果你没有安装 auto-py-to-exe,只安装了 pyinstaller,那复制这行命令,同样也是可以打包成功的

如果没有报错,项目生成的 exe 文件会默认放在 output 下,双击exe文件,可正常使用!

你可能感兴趣的:(qt,YOLO,ui)