使用PyQt5为YoloV5添加界面
近期因为疫情,无法正常入职上班。所以在家参考相关博文,视频和代码等,学习了PyQt5的基础知识,并尝试为YOLOV5添加界面。
反正啥也不咋会,在家瞎捣鼓捣鼓,总比闲着强呗~
项目为简单Demo,仅供自己记录过程,以及交流学习~
一、项目简介
使用PyQt5为YoloV5添加一个可视化检测界面,并实现简单的界面跳转,具体情况如下:
特点:
- UI界面与逻辑代码分离
- 支持自选定模型
- 同时输出检测结果与相应相关信息
- 支持图片,视频,摄像头检测
- 支持视频暂停与继续检测
目的:
- 熟悉QtDesign的使用
- 了解PyQt5基础控件与布局方法
- 了解界面跳转
- 了解信号与槽
- 熟悉视频在PyQt中的处理方法
项目图片:
二. 项目整体框架与代码
项目地址:等待上传
架构介绍:
- 整体为YoloV5的代码
- ui文件夹中存放ui的py文件和原件,便于使用与更改
- ui_img存放ui使用的图像文件
- utils中添加了一个用户账户工具id_utils.py
- detect_logical.py是检测界面的逻辑代码
- main_logical.py是主界面的逻辑代码
- userinfo.csv存放用户账号id信息
主要是在原始YoloV5-pyqt的基础上进行修改,具体如下:
- 1.分离了界面和逻辑
- 2.增加了登录,注册功能
- 3.重构了部分功能代码
三、快速开始
环境与相关文件配置:
- 按照 ult-yolov5 中requirement的要求配置环境,自行安装PyQt5,注意都需要在一个evn环境中进行安装与配置
- 下载或训练一个模型,将“.pt”文件放到weights文件夹,(权重文件可以自己选,程序默认打开weights文件夹)
两种程序使用方式:
- 直接运行detect_logical.py,进入检测界面
- 运行main_logical.py,先登录,在进入检测界面(这是为了学习界面跳转