中文车牌检测识别系统-python+YOLOv5+CRNN

基于 YOLOv5+CRNN的中文车牌检测识别系统
项目描述
基于 YOLOv5 改进的车牌检测 + CRNN 文字识别的中文车牌端到端识别系统,支持 12 种常见车牌类型(单/双层蓝牌、黄牌、新能源、警牌、武警、教练、使馆、港澳粤Z、双层绿牌、民航牌等),并提供 PyQt5 桌面 GUI 进行图片/视频的可视化交互。

项目功能
车牌检测:定位图像中车牌区域并提取 4 个角点,支持单、双层车牌分类
车牌识别:CRNN 序列识别 12 类车牌的汉字、字母、数字,支持危险品标识
车牌颜色识别:蓝、黄、绿、白、黑 5 类颜色判别
透视变换矫正:利用 4 个角点做透视变换得到正视图,双层车牌自动分割拼接
图片批量识别:选择单张图片或文件夹批量识别,左右对比显示原图与结果,上下张浏览、结果图片另存
视频实时识别:支持 mp4/avi 等视频逐帧检测,实时预览带标注画面,显示当前 FPS、平均 FPS、帧号,可选保存结果 MP4,支持随时停止
结果列表:逐条展示每张图片/每一帧识别出的车牌号、颜色、类型、置信度
运行环境
Python ≥ 3.6,PyTorch ≥ 1.7,已验证 Python 3.13 + PyTorch 2.13 (CPU);依赖库包括 opencv-python、numpy、pandas、Pillow、PyYAML、tqdm、matplotlib 等(见 requirements.txt);GUI 需要 PyQt5;GPU 需 CUDA 版 PyTorch,否则自动回退 CPU。

项目技术
检测端:基于 YOLOv5 + 关键点回归的改进模型,同时输出检测框与车牌 4 个角点,输出额外类别判断单双层;识别端:CRNN(CNN 特征提取 + BiLSTM 序列建模 + CTC 解码)多任务结构,在识别字符同时分支预测颜色;透视变换:角点排序后用 getPerspectiveTransform/warpPerspective 矫正;双层车牌:上下区域拆分后水平拼接再送入识别;部署集成:模型权重分别为 plate_detect.pt(检测)与 plate_rec_color.pth(识别+颜色),GUI 采用 PyQt5 + QThread 后台线程避免界面阻塞,逐帧处理使用 OpenCV VideoCapture/VideoWriter,画面经 BGR→RGB 转 QPixmap 显示。

以上系统源码经过技术整理与调试,确保能正常运行

提供最优质的资源集合

立即查看 了解详情