# 车牌检测和识别的 Python 应用软件实现
## 1.车牌检测和识别项目介绍
![](https://www.writebug.com/myres/static/uploads/2022/1/3/659089e8fa593d3fcbd8c79b5b1acf50.writebug)
*图片来源:[https://www.cnblogs.com/polly333/p/7367479.html](https://www.cnblogs.com/polly333/p/7367479.html)*
车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁。在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法有:基于形状、基于色调、基于纹理、基于文字特征等方法,近年来随着深度学习的发展也会使用目标检测的一些深度学习方法。该项目主要的流程如下图所示:
![](https://www.writebug.com/myres/static/uploads/2022/1/3/7a924da0abb932d6cab4bda4ed7c3275.writebug)
1.输入原始图片,通过二值化,边缘检测,和基于色调的颜色微调等办法检测出原图中的车牌号的位置;
2.把检测到的车牌(ROI)裁剪,为车牌号的识别做准备;
3.基于裁剪的车牌号,使用直方图的波峰波谷分割裁剪的车牌号(如上图中的第 3 步)
4.训练机器学习模型做车牌识别,这里训练了 2 个 SVM,一个 SVM 用来识别省份简称(如 鲁),另一个 SVM 用来识别字母和数字。
5.通过 PyQt5 把整个算法封装成 GUI 程序,并打包发布安装软件。
## 2.项目代码解析
下图描述了整个项目的代码结构,可以访问 [https://github.com/DataXujing/vehicle-license-plate-recognition](https://github.com/DataXujing/vehicle-license-plate-recognition) 查看,其结构如下:
![](https://www.writebug.com/myres/static/uploads/2022/1/3/5534a77c45a4249bcc976e941ca353f6.writebug)
## 3.项目演示
可以通过访问项目地址 ( [https://github.com/DataXujing/vehicle-license-plate-recognition](https://github.com/DataXujing/vehicle-license-plate-recognition) )查看整个应用,或者访问安装程序下载地址 ([https://pan.baidu.com/s/1IazbGFLlQkb8BQmK_EAeRA](https://pan.baidu.com/s/1IazbGFLlQkb8BQmK_EAeRA) 提取码:v103 )安装安装程序进行测试,这里展示一些识别结果和测试视频:
![](https://www.writebug.com/myres/static/uploads/2022/1/3/545983cbac560d074ab0d88a43187c1b.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/1/3/bb98af76b37dc05b10cc63c88e3a6cbf.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/1/3/e1ef466718262e24ba8872fc4c0992b0.writebug)
<video src="./pic/demo.mp4" controls="controls" ></video>
## 4.TODO
目前识别的效果针对于某些场景下仍然很不理想,技术层面上的主要原因有两个,一个是车牌检测算法并没有检测到车牌(这主要是检测算法的问题),可以尝试一些目标检测的算法,比如 Faster R-CNN(速度可能慢一些),YOLO 系列, SSD 系列等的经典的目标检测算法,然后做矫正或进一步的区域筛选;另一个原因是是在识别算法上,本次我们仅是基于少量的训练数据训练了 SVM,可以尝试增加训练集并把模型替换成一些更复杂的机器学习模型如 XGBoost,LightGBM,CatBoost 等模型或使用 CNN 训练一个多分类的深度学习模型, 亦或者是直接考虑一些基于 Attention 的 CNN-RNN 架构的 OCR 识别模型。
## Reference
1.[OpenCV 图像识别:车牌定位算法源码,Python 语言实现](https://blog.csdn.net/sumkee911/article/details/79435983)
2.[车牌号识别 python + opencv](https://blog.csdn.net/wzh191920/article/details/79589506)
3 [License-Plate-Recognition](https://github.com/wzh191920/License-Plate-Recognition)
4.[车牌识别(一)-车牌定位](https://www.cnblogs.com/polly333/p/7367479.html)
5.[在 PyQt5 中美化和装扮图形界面](https://zmister.com/archives/477.html)
abments
- 粉丝: 2175
- 资源: 1644
最新资源
- 基于TensorFlow实现LSTM对未来股价预测全部资料+详细文档+优秀项目.zip
- 基于tensorflow实现车牌照识别全部资料+详细文档+优秀项目.zip
- 基于Tensorflow实现声音分类,全部资料+详细文档+优秀项目.zip
- 基于TensorFlow实现的基于双向LSTM+CRF的命名实体识别。全部资料+详细文档+优秀项目.zip
- 窗函数.zip 大数据 算法 源码 MATLAB
- 基于tensorflow实现的中文语音识别项目全部资料+详细文档+优秀项目.zip
- 基于TensorFlow实现色情图片离线识别,识别只需20ms,可断网测试,,该模型文件可用于iOS、java、C++等平台全部资料+详细文档+优秀项目.zip
- 基于TensorFlow实现推荐系统的model全部资料+详细文档+优秀项目.zip
- 基于TensorFlow实现图片鉴黄全部资料+详细文档+优秀项目.zip
- 基于深度学习和TensorFlow的英文和汉字验证码识别全部资料+详细文档+优秀项目.zip
- Gartner发布NDR平台新兴技术趋势: NDR平台的10大主要趋势.pdf
- Gartner发布生成式人工智能技术创新指南:GenAI 本身并不是一个市场,但它渗透到整个技术栈和大多数垂直领域.xlsx
- Gartner发布中国PAM特权访问管理创新洞察:PAM的8个主要目标和国内9个主要提供商.pdf
- 数据的统计描述与分析.zip MATLAB
- 基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶全部资料+详细文档+优秀项目.zip
- 基于 spring boot+vue 的仓储管理系统项目源码和数据库文件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈