车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁。在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法有:基于形状、基于色调、基于纹理、基于文字特征等方法,近年来随着深度学习的发展也会使用目标检测的一些深度学习方法。
本项目主要通过传统方法来实现车牌识别,主要用到Opencv库和SVM分类模型,整个项目代码基于Python实现,界面构建基于PyQT5,该项目主要的流程如下图所示:
1.输入原始图片,通过二值化,边缘检测,和基于色调的颜色微调等办法检测出原图中的车牌号的位置;
2.把检测到的车牌(ROI)裁剪,为车牌号的识别做准备;
3.基于裁剪的车牌号,使用直方图的波峰波谷分割裁剪的车牌号
4.训练机器学习模型做车牌识别,这里训练了2个SVM,一个SVM用来识别省份简称(如 鲁),另一个SVM用来识别字母和数字。
5.通过PyQt5把整个算法封装成GUI程序。
代码结构如下图所示:
演示视频链接如下所示:
https://live.csdn.net/v/279730?spm=1001.2014.3001.5501
参考链接:https://zhuanlan.zhihu.com/p/630084129