黑暗酷炫风:Pyqt5打造的YOLOv5暗绿蓝调GUI - 非第三方组件库

news2024/11/24 1:35:36

在这里插入图片描述

基于YOLOv5的道路标志识别项目(yolov5界面GUI)

English | 简体中文

这是一个关于yolov5的道路标志识别项目,使用Pyqt5开发界面,Yolov5训练模型,数据库Mysql,包含五个模块:初始化参数、标志识别、数据库、数据分析和图像处理。

项目地址https://github.com/Ai-trainee/Traffic-Sign-Recognition-PyQt5-YOLOv5-GUI

软件截图

  • 标志识别模块

    在这里插入图片描述

左下角三个勾选框分别是结果保存、启动数据库录入、以及模型可视化分析

演示视频

基于YOLOV5的道路标志识别系统

安装依赖

pip install -r requirements.txt


快速开始

1. 设置数据库

为了运行应用程序,您需要设置您的 MySQL 数据库。按照以下步骤准备您的数据库:

  • 自动数据库创建(可选)
    • 如果您喜欢自动设置,我们提供了一个批处理脚本。运行 setup_database.bat 脚本来创建数据库。这需要在您的系统上安装并配置 MySQL。
  • 手动数据库创建
    • 或者,您可以在 MySQL 中手动创建数据库。在您的 MySQL 环境中导入并执行 data/regn_mysql.sql 文件,以设置必要的数据库和表。

2. 在代码中配置数据库连接

设置数据库之后,更新代码中的连接设置;这4个变量在代码的开头,请更改成你本地数据库的身份验证信息;这些身份验证信息再代码中有两处调用(大约第111行和第1783行)

# 数据库连接设置作为全局变量
DB_HOST = 'localhost'    # 数据库主机
DB_USER = 'root'         # 数据库用户
DB_PASSWORD = '1234'     # 数据库密码
DB_NAME = 'traffic_sign_recognition'  # 数据库名

关于数据库链接的注意事项

如果遇到 RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods 错误,这是因为数据库身份验证出错了,需要正确地创建数据库并输入密码。

3. 运行 main.py

4. 输入您的账号和密码以登录。

以下是默认的登录凭据:

用户名密码
admin123456
12

或者修改main.py中的主函数:删除登陆逻辑,以直接进入系统而无需进行身份验证。


项目模块

  • pt文件夹:存放模型(best.pt是道路标志识别模型)
  • main_with文件夹:login.py(登陆ui)、win.py(主ui)
  • dialog文件夹:rtsp弹出界面
  • apprcc_rc.py:资源文件
  • login_ji.py:界面登陆逻辑文件
  • data/run/run-exp52:300轮训练后的道路标志识别模型
  • utils/tt100k_to_voc-main文件夹:json转yolo格式
  • result保存一些推理文件,run保存训练文件
  • 数据集:TT100k : Traffic-Sign Detection and Classification in the Wild
  • 数据库文件:data文件夹下-regn_mysql.sql

由于这个项目是在我学习YOLOv5时完成的(已经过了很长一段时间),因此主要的逻辑代码都集中在main.py文件中。换句话说,我没有将不同功能模块化,没有进行模块结构的清晰划分。主要是由于我太懒了,嘻嘻 😄。如果您有兴趣,可以将其模块化,这样它就会更加清晰。

致谢

  • 将TT100K数据集转成VOC格式,并且用Python脚本选出45类超过100张的图片和XML
  • https://github.com/Javacr/PyQt5-YOLOv5

Star History

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1374121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS Gazebo仿真 实例演示

实现流程: 1、编写封装惯性矩阵算法的 xacro 文件 2、机器人模型中的每一个 link 添加 collision 和 inertial 标签,并且重置颜色属性 3、在 launch 文件中启动 gazebo 并添加机器人模型 其中的launch文件主要做了两项工作: (1&#xff0…

1.10号io网络

信号量(信号灯集) 1> 信号灯集主要完成进程间同步工作,将多个信号灯,放在一个信号灯集中,每个信号灯控制一个进程 2> 每个灯维护了一个value值,当value值等于0时,申请该资源的进程处于阻…

2024不容错过的好项目好商机,普通人翻身就靠它了,靠谱创业项目推荐

2024什么最容易挣钱?是火遍全网的单身经济?宠物经济?旅游业?大健康经济?都不是!他们确实挣钱,但都不是最容易的。 比如单身经济,卖东西你需要去结合需求去选品,开单身餐厅…

尊嘟假嘟?三行代码提升接口性能600倍

一、背景 业务在群里反馈编辑结算单时有些账单明细查不出来,但是新建结算单可以,我第一反应是去测试环境试试有没有该问题,结果发现没任何问题!!! 然后我登录生产环境编辑业务反馈有问题的结算单&#xff…

工单系统:助力传统服务行业实现数字化转型的关键要素

数字化转型的浪潮冲击着传统服务业,对其造成了巨大的影响。其中,工单系统以其多样和强大的功能性,成为传统服务行业必备的数字工具。今天,小编就来大家来聊聊工单系统对传统服务行业有哪些影响?希望对于还未投入使用的…

数据库基础5

基本连接语句 法1 maven 教程 https://www.bilibili.com/video/BV1pw41147jm 导jar包 https://blog.csdn.net/qq_40893824/article/details/129118784 import java.sql.*;public class test {public static void main(String[] args) throws SQLException {//用户信息和url…

ChatGPT诞生对全球高等教育所产生的巨大影响

作为全新的人工智能(AI)语言模型,ChatGPT诞生于2022年11月30日。目前,虽然其尚处于试运行阶段,但已经产生了极为震撼的影响。 1月28日,美国“内幕”网站发表文章称,“ChatGPT才出现两个月&#…

Zookeeper 和 naocs的区别

Nacos 和 ZooKeeper 都是服务发现和配置管理的工具,它们的主要区别如下:功能特性:Nacos 比 ZooKeeper 更加强大,Nacos 支持服务发现、动态配置、流量管理、服务治理、分布式事务等功能,而 ZooKeeper 主要用于分布式协调…

单片机原理及应用:定时器与计数器中断

时间概念 中断结构 引脚 TCON TMOD IE IP 时间概念 在一般单片机中,有2个16位可编程的硬件计数模块T0和T1,我们称其为计数器或定时器,顾名思义,该模块可以实现定时和计数两种功能,其功能由软件控制和切换。实质…

2023-12-29 贪心算法 分发饼干和摆动序列以及最大子数组和

贪心算法 什么是贪心算法? 就是每一阶段的最优解,从局部的最优解达到全局的最优解! 最好用的策略就是举反例,如果想不到反例,那么就试一试贪心吧。 贪心算法一般分为如下四步: 将问题分解为若干个子问…

09-责任链模式-C语言实现

责任链模式:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it.(使多个对象都有…

Qt QRadioButton单选按钮控件

文章目录 1 属性和方法1.1 文本1.2 选中状态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的单选按钮类是QRadioButton它是一个可以切换选中(checked)或未选中(unchecked)状态的单选按钮单选按钮常用在“多选一”的场…

机器学习工程师学习路线图

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 机器学习工程(MLE)是一个快速发展的领域,对熟练专业人员的需求很高。如果您对 MLE 职业感兴趣,路线图可以帮助您培养…

大小论文over,坐等毕业。写点ROS上建图与导航的心得,也不知道对错,欢迎讨论~(对,谨慎阅读,不存在误人子弟哈~.~)

大小论文总算是都搞定了,院审过了送外审了,生死有命富贵在天,希望外审专家大佬们高抬贵手o.O~ 我所理解的建图算法的移植,能不能运行起来,大框架上就是把一棵完整的坐标转换关系的TF树给整理“通顺”,TF&am…

一文搞懂Git版本工具常用的操作命令

简述 Git是一个分布式的版本控制工具,其在使用上要比SVN等版本控制工具稍显复杂。为了便于理解,本文通过图文方式详细介绍Git的使用,以便于快速掌握Git。Git涉及的主要概念和命令如图所示。理解上述概念后,基本可以使用Git完成日常开发工作。关于Git的介绍以及常用命令在之前的…

RK3568驱动指南|第十篇 热插拔-第116章netlink监听广播信息实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

CES 2024:AI智能大爆发,引领科技新纪元

美国当地时间1月9日,2024年国际消费类电子产品展览会(CES)如期在内华达州拉斯维加斯举行。作为全球最盛大的科技盛会,每年,来自世界各地的顶尖科技企业都会参加CES,展示他们的最新科技产品和创新&#xff0…

Python的安装与卸载【Windows系统】

在 Windows 上安装与卸载 Python Python的安装 下载Python 安装Python 下载完后打开安装包 注意最底下的"Add Python 3.8 to Path"(将Python加入环境变量)一定要勾选!!!这样就可以免去之后环境配置的烦恼…

在本地测试nginx中localhost不行,需要写成127.0.0.1

在Windows 10系统的命令提示符cmd中,执行命令ping localhost,并没有出现我与其的ip地址“127.0.0.1”,而是“[::1]”。 问题原因 在cmd中ping localhost解析出来的是ipv6的::1的原因是windows有个优先解析列表,当ipv6的优先级高于…

【cmu15445c++入门】(4)c++中的模板方法

一、template模板方法 模板方法是c的一个特性,可以让你的代码在不指定数据类型的情况下,运行不同的数据类型。 你可以创建模板方法和模板类,本文讨论模板方法。 二、代码 // Includes std::cout (printing) for demo purposes. #include &…