一、选择YOLOv5s模型
YOLOv5:YOLOv5 是一个轻量级的目标检测模型,它在 YOLOv4 的基础上进行了进一步优化,使其在保持较高检测精度的同时,具有更快的推理速度。YOLOv5 的网络结构更加灵活,可以根据不同的需求选择不同大小的模型,如 YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x,分别对应不同的模型复杂度和性能。
二、设计PyQt界面
三、槽函数绑定信号
界面注册函数
def register(self):
connect=sqlite3.connect('register.db')
cursor=connect.cursor()
user_id=self.lineEdit.text()
password=self.lineEdit_2.text()
confirm=self.lineEdit_3.text()
if password==confirm and user_id and password:
sql='insert into user (user_id, password) values (?, ?)'
cursor.execute(sql,(user_id,password))
connect.commit()
cursor.close()
connect.close()
QMessageBox.information(self,"提示","注册成功")
elif password!=confirm:
QMessageBox.information(self,"提示","两次密码不一致,请重新输入!")
else:
QMessageBox.information(self, "提示", "信息输入错误,请重新输入!")
用的数据库是sqlite3,直接import sqlite3,用起来比较方便。
点击登录按钮,就会调用detect函数,在数据库里查找信息匹配,判断账号和密码是否对应。
#打开检测界面
def detect(self):
connect=sqlite3.connect('register.db')
cursor=connect.cursor()
user_id=self.lineEdit.text()
password=self.lineEdit_2.text()
if user_id and password:
sql='select user_id,password from user where user_id=? and password=?'
cursor.execute(sql,(user_id,password))
connect.commit()
data=cursor.fetchall()
if data:
self.close()
DetectWin.show()
else:
QMessageBox.information(self,"提示","用户名或者密码错误,请重新输入")
cursor.close()
connect.close()
else:
QMessageBox.information(self,"提示","存在未输入项")
对应的话就会登录到检测界面
检测界面有四个按钮:加载模型、加载数据、开始检测、摄像头检测。
点击加载模型按钮,就会打开文件夹模型的路径。然后选择训练好的模型。
点击加载数据按钮,就会打开数据存放路径的文件夹,选择的数据可以是视频、可以是图片。
点击开始检测按钮,就会调用YOLOv5自带的detect.py代码,模型是你训练好的模型,然后就会开始检测,检测结果直接显示在界面右边,打开输出文件夹,里面是检测结果图片或者视频。
点击摄像头检测,就会调用电脑摄像头然后开始识别物体,检测结果直接实时显示在界面右边。
三、运行效果展示
20250512_175736
四、源码和环境配置
价格可谈,帮你配置环境和代码运行成功,不局限于水果检测,各种检测合适的话都可接