欢迎光临
我们一直在努力

【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)原创

前面4篇博客介绍了OpenCV图像处理的基础知识,本篇博客利用前4篇的知识完成一个小项目——车牌号码识别。该篇博客的代码可以满足小区门禁车牌号的识别。本篇博客是前4篇博客知识的一个综合运用。感觉学会了这个可以实现一系列的图像识别任务。。。毕竟好多技巧都是共通的
首先要感谢 大佬的博客 ,在它的基础上完成了自己的识别任务。

首先附上本次识别的图片:(图片是我在百度上找的)
在这里插入图片描述
基于OpenCV车牌号识别总体分为四个步骤
1)提取车牌位置,将车牌从图中分割出来;
2)车牌字符的分割;
3)通过模版匹配识别字符;
4)将结果绘制在图片上显示出来。
与深度学习相比,传统图像处理的识别有好处又有坏处
好处:不需要大量的数据集训练模型,通过形态学、边缘检测等操作提取特征
坏处:基于传统图像处理的图像识别代码的泛化性较低,当图像的角度,光照不同时,识别效果有时会不尽人意。

为了方便观察每一步图片的变化,本次代码在Jupyter Notebook上编写,全部代码以上传(可直接运行)。
本次项目中会多次使用到图片显示和图片去噪灰度处理,所以首先定义了显示函数高斯滤波灰度处理函数,方便后面的调用:


对图片进行阈值化处理、边缘检测及形态学操作,根据得到的轮廓特征识别车牌的具体位置,将车牌分割出来。直接上代码及代码详解:


二值化图以及闭操作(闭合细小的连接,抑制暗细节)的结果如图所示:

在这里插入图片描述


在这里插入图片描述在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

模板匹配是一个机械性的流程,所以把机械性的操作设定为函数。



最后,利用PIL库将结果绘制在原图上,获得的最终输出图片如下:


在这里插入图片描述
大功告成!!!!!

(一) 、OpenCV的车牌号码识别一共分为四步走:
1–提取车牌位置,将车牌从图中分割出来;
2–车牌字符的分割;
3–通过模版匹配识别字符;
4–将结果绘制在图片上显示出来。
(二)、图像处理的识别泛化性较低,对图片的角度光照有要求,所以要理解图像处理每一步的作用,根据自己图像的特点调整参数,更改操作顺序等等,以达到最好的效果。
(三)、车牌号识别的模板连接如下,需要的可以下载,有了模板就可以识别自己的图片了
链接:https://pan.baidu.com/s/1QBjy7c0klv_PBUwJjA8ynA
提取码:v53d
(四)、完整代码已上传SCDN点击查看

http://zengqiang.club/blog/34

赞(0) 打赏
未经允许不得转载:AFT博客 » 【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)原创

登录

找回密码

注册