本项目面向智慧交通与停车管理场景,基于深度学习技术设计实现一套车牌自动识别桌面系统,旨在提供高效、准确、易用的车牌图像识别服务。系统以提高识别效率、提升准确度、提供可视化交互和保障数据安全为业务目标,通过深度学习算法减少人工干预,在多种复杂场景下保持高识别率。
系统涵盖七大核心功能模块:用户认证与权限管理模块支持普通用户注册登录,内置管理员和普通用户双角色,密码通过 SHA-256 加盐哈希存储,管理员可管理账号状态和查看操作日志;图像加载与预处理模块支持常见图像格式导入,依次完成灰度化、双边滤波去噪、CLAHE 自适应直方图均衡和 Canny 边缘检测四步处理,以 2×2 网格实时展示中间结果;车牌定位检测模块基于 YOLOv8n 深度学习模型识别车牌区域,返回边界框坐标和置信度,支持置信度和 IoU 阈值实时调节,在原图上标注检测结果;车牌字符识别模块采用 LPRNet 端到端模型,无需字符分割即可直接识别中国车牌格式,通过 CTC 解码策略处理变长字符序列,输出识别结果及耗时;识别记录与历史管理模块自动保存每次成功识别的车牌文本、置信度、耗时、图像路径和时间戳,同时记录定位坐标信息,支持历史查询和识别统计。
管理员管理模块提供用户列表管理、账号启用禁用、密码重置、日志查看和用户统计等功能;系统交互界面模块基于 PyQt5 构建现代化 GUI,侧栏提供分步操作指引(图像预处理、车牌定位、车牌识别),支持一键全自动识别,可调节阈值滑块实时调整识别灵敏度,进度条反馈处理进度,大号展示区域醒目显示识别结果。综合来看,系统实现了从图像加载到车牌字符串输出的完整识别流程,同时集成了用户认证和记录管理功能,具有较高的实用价值。
本系统为基于深度学习的车牌识别桌面应用,采用分层单体架构,分为表示层、业务逻辑层、数据访问层和模型层四个层次,核心模块通过函数调用通信,无需网络部署。
技术栈采用 Python 3.10+,以 PyQt5 构建图形用户界面,PyTorch 作为深度学习框架,配合 Ultralytics YOLO 库实现车牌定位,OpenCV 负责图像处理,SQLite 作为嵌入式数据库存储用户数据和识别记录,密码安全通过 SHA-256 加盐哈希实现。
系统核心功能由六大模块协作完成:用户认证模块负责注册登录与角色权限管理,管理员可管理用户和查看操作日志;图像预处理模块依次执行灰度化、双边滤波去噪、CLAHE 自适应直方图均衡和 Canny 边缘检测,以 2×2 网格展示中间结果;车牌定位模块基于 YOLOv8n 深度学习模型检测车牌区域,返回边界框坐标和置信度;字符识别模块采用 LPRNet 端到端模型,通过 CTC 解码策略直接输出车牌字符串;识别记录模块自动保存每次识别结果、定位坐标、置信度和耗时,支持历史查询与统计;主界面模块通过 PyQt5 提供侧栏分步操作和一键全自动识别功能。
为保障交互流畅性,所有计算密集型操作(预处理、模型推理)均在独立子线程中执行,通过 Qt 信号-槽机制安全回传进度和结果,避免阻塞主线程。数据库采用三表结构设计(用户表、识别记录表、定位记录表),支持级联删除与事务操作。模型推理采用 YOLOv8n 的 best.pt 最佳权重配合 LPRNet 的 Final_LPRNet_model.pth 预训练权重,整体实现从图像加载到车牌字符串输出的完整端到端识别流程。