当前位置: 首页 > news >正文

基于深度学习的水果识别系统设计

一、选择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

 四、源码和环境配置

价格可谈,帮你配置环境和代码运行成功,不局限于水果检测,各种检测合适的话都可接

http://www.xdnf.cn/news/421813.html

相关文章:

  • 蛋白设计 ProteinMPNN
  • go语言学习进阶
  • Telnet 类图解析
  • 题海拾贝:P1833 樱花
  • 不用服务器转码,Web端如何播放RTSP视频流?
  • 多线程代码案例-1 单例模式
  • 在spark中配置历史服务器
  • 【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希
  • 拓扑排序详解
  • H5S 视频监控AWS S3 对象存储
  • BGP实验练习2
  • Github 2025-05-13 Python开源项目日报 Top10
  • 从零开始:使用 Vue-ECharts 实现数据可视化图表功能
  • 详解Windows(十一)——网络连接设置
  • 解锁ozon运营新路径:自养号测评技术如何实现降本增效
  • CSS结构性伪类、UI伪类与动态伪类全解析:从文档结构到交互状态的精准选择
  • 【Flask全栈开发指南】从零构建企业级Web应用
  • Vue3+uniapp 封装axios
  • 《猜拳游戏》
  • 深入学习Zookeeper的知识体系
  • 软件测试服务公司分享:国产化适配测试的重要性和关键要素
  • 如何在 CentOS 7 虚拟机上配置静态 IP 地址并保持重启后 SSH 连接
  • ios remote debut proxy 怎么开启手机端调试和inspect
  • C++ string数据查找、string数据替换、string子串获取
  • Rollup入门与进阶:为现代Web应用构建超小的打包文件
  • 【23种设计模式】分类结构有哪些?
  • Java——集合基础
  • OpenCV中的光流估计方法详解
  • 前端面试每日三题 - Day 33
  • 深入理解BLP安全模型:信息安全中的“守密者”