bilibili:文章对应的讲解视频在此。熊大学习社 熊大学习社的个人空间_哔哩哔哩_Bilibili
Gitee开源:ioter: 玩转物联网
CSDN玩转物联网专栏文章:https://blog.csdn.net/shx13141/category_11669532.html
微信公众号:熊大学习社
课程资料包括YOLOV5界面(可直接运行)、YOLOV5算法的应用模型(车辆、人群、手势、口罩、高速等)、数据集(口罩、手势等)、讲义。关注公众号“熊大学习社”,回复“yolov5界面”,可获得资料链接,(资料链接在文章最下方)。
1 界面设计
-
安装PyQt和pyqt5-tools
python37 -m pip install pyqt5 python37 -m pip install pyqt5-tools
安装完成后,designer目录:C:\Users\BigBear\AppData\Local\Programs\Python\Python37\Lib\site-packages\qt5_applications\Qt\bin。
可能根据版本不同,所在位置有所不同。可通过在python版本文件夹中搜索designer.exe。
-
设计好界面,选择主程序项目;
-
控件命名;
- 控件布局,自适应窗体大小;
-
在窗体空白处,右键选择“布局”,选择水平或者垂直布局。
预览,查看控件适应窗口情况。
-
保存ui文件,main_window.ui
2 ui转py
转化的命令行
python37 -m PyQt5.uic.pyuic -o main_window.py main_window.ui
将窗体ui文件转化为py文件,文件为main_window.py。
我们可以调用py文件,实现相关的功能。
3 界面与逻辑分离
-
加载窗体的py文件。
在main_UI.py文件中加载,运行这个文件进入主界面。
from main_window import Ui_MainWindow from datetime import datetime # 添加一个关于界面 # 窗口主类 class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setupUi(self) ...... if __name__ == "__main__": app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_())
-
信号槽及功能函数
# 信号槽 self.btn_detect_img.clicked.connect(self.detect_img) self.btn_detect_cam.clicked.connect(self.open_cam) self.btn_detect_video.clicked.connect(self.open_mp4) self.action_changemodel.triggered.connect(self.choosemodel) self.btn_video_stop.clicked.connect(self.close_vid) self.btn_video_stop.setEnabled(False)
-
图片检测
将检测前图片和检测后图片同时显示,可作对比。
-
视频检测
线程的初始化、终止、暂停
-
视频和图片保存
检测前后的图片或视频进行保存,方便检查。
4 模型文件和数据集
4.1 模型文件
在pretrained文件夹中。
-
目标检测
-
手势识别
-
车牌识别
-
口罩识别
-
车辆识别
4.2 数据集
-
手势
-
口罩
5 后续完善
-
将检测结果显示在Tab3中,并实时保存。
-
增加画线功能,进行区域检测,实现区域监控,电子围栏。
-
给更多经典的算法,如swim transformer等,增加界面。
6 课程资料获取
课程资料包括YOLOV5界面(可直接运行)、YOLOV5算法的应用模型(车辆、人群、手势、口罩、高速等)、数据集(口罩、手势等)、讲义。关注公众号“熊大学习社”,回复“yolov5界面”,可获得资料链接。
感谢您的学习,希望您有所收获。您的一键三连是我最大的动力。
更多的学习分享,关注B站熊大学习社。