智能车牌识别系统:YOLOv5+LPRNet深度学习引擎,车辆信息库+性能监控!

智能车牌识别系统:YOLOv5+LPRNet深度学习引擎,车辆信息库+性能监控!


想要代码点击此处系统链接闲鱼


1. 项目简介

本系统基于深度学习技术构建,相比传统图像处理方法(依赖图像分割和模板匹配)局限性明显,对光照、角度和遮挡极为敏感。本系统采用YOLOv5 目标检测 + LPRNet 字符识别,实现端到端的高精度中文车牌识别,支持蓝牌(普通燃油车)、新能源绿牌、黄牌自动分类。

  • Github链接: https://github.com/znmeister/YOLOv5-LPRNet-GUI

2. 核心功能

2.1 双引擎深度学习识别

  • YOLOv5目标检测:高精度车牌定位,支持复杂背景
  • LPRNet字符识别:专为车牌识别的轻量级CNN网络,由Intel公司提出并商用,能够处理各种光照、角度甚至倾斜条件下的车牌图像
  • 多车牌类型支持:蓝牌、新能源绿牌、黄牌自动分类(HSV颜色空间判别)

2.2 多源识别模式

  • 单张图片识别:支持JPG/PNG,上传即识别,自动标注车牌框
  • 批量图片处理:一键识别整个文件夹,结果自动导出
  • 摄像头实时识别:开启摄像头,实时预览并识别车牌

2.3 车辆信息智能数据库

  • 品牌/型号匹配:识别车牌后自动查询预设车辆信息(内置大众、特斯拉等演示数据)
  • 动态增删改查:用户可自行添加车辆品牌、型号、颜色,存入SQLite
  • 识别历史记录:每次识别自动保存,支持导出CSV

2.4 实时性能监控看板

  • FPS趋势图表:动态绘制识别帧率曲线
  • 内存占用监控:实时显示进程内存使用量
  • CPU状态:动态展示CPU占用率
  • GPU检测:自动检测CUDA并显示GPU型号

2.5 多主题界面切换

  • 内置 flatly(明亮)、darkly(暗黑)、superhero(英雄)四种主题,一键切换,编辑器中实时生效
  • 现代化卡片式布局:基于ttkbootstrap的GUI设计

2.6 识别结果可视化增强

  • 原图+检测框:绿色矩形标注车牌位置
  • 中文车牌绘制:使用PIL在图像上直接叠加识别出的车牌号
  • 车牌缩略图:右侧卡片单独展示裁剪后的车牌区域
  • 颜色标签:蓝牌/绿牌/黄牌用不同背景色区分

2.7 多线程异步处理

  • 界面不卡顿:识别过程在后台线程运行
  • 摄像头帧率控制:每1.5秒识别一次,兼顾实时性与CPU占用
  • 资源自动释放:关闭摄像头/图片后释放内存

3. 环境要求

依赖项版本推荐说明
Python3.8 ~ 3.10Anaconda虚拟环境推荐
PyTorch≥1.10GPU或CPU版本均可
opencv-python≥4.5图像处理与摄像头调用
ttkbootstrap≥1.10现代GUI主题库
Pillow≥9.0图像显示与中文绘图
matplotlib≥3.3性能图表绘制
psutil≥5.8系统资源监控

4. 安装与配置

4.1 克隆/下载项目

git clone https://github.com/znmeister/YOLOv5-LPRNet-GUI.git cd YOLOv5-LPRNet-GUI

4.2 创建虚拟环境(推荐)

conda create-n license_plate python=3.9conda activate license_plate




7.项目文件结构

YOLOv5-LPRNet-GUI/├── GUI.py# 主程序(包含所有界面与逻辑)├── weights/│ ├── yolov5_best.pt# YOLOv5检测权重│ └── lprnet_best.pth# LPRNet识别权重├── models/# YOLOv5模型定义│ ├── experimental.py │ ├── LPRNet.py# LPRNet网络结构 + CHARS字符集│ └──...├── utils/# 辅助函数(nms, scale_coords等)│ └── utils.py ├── vehicle_records.db# 自动生成的SQLite数据库└── requirements.txt