计算机视觉——自动识别车牌简介

最近在了解这方面的东西,现在只要是整理下这段时间看的资料吧(主要科普为主)。

自动识别车牌(Automatic license plate detection) 这个玩意现在已经很普及了,但是针对一些特定的情况还是需要修改,定制一波(就比如苦逼的我入了一个这样的坑)。

当前的主流模式大致分为以下:

1.获得图片;

2.车牌提取;

3.车牌分割;

4.字符识别;

 

第一步,获得图片:

就不用说了,你可以直接导入图片或者视频流固定没秒截取几张图这样。

第二步,车牌提取:

这部分就是要从图片中萃取出车牌的位置来,需要考虑的情况蛮多的(如果要进入到应用估计更多),如:定位,大小,颜色,字体,掩体,倾斜。

提取部分的话方法就有很多了:
1. 利用边界/边缘的信息提取,也是主要要讲一下的内容。汽车的车牌都是方方正正的,特例比较少点。这里的话比较流行的边角检测法就是sobel算子(算子就是函数吧,CV的术语)。

sobel算子就是利用边缘两侧灰度的突变来检测的,既然说到灰度的话,那么我们的初始获得的图片都是用rgb的,这样就需要进行灰度化处理。如果直接将原图灰度化处理的话,又会带来另一个问题,

就是sobel找出的候选区域会太多了。这就是由于没有去噪的缘故,这里的话是用高斯滤波去噪。

(不过我从其他地方看到有个比sobel还要快上7-9倍的方法,还没来得及看。先埋个坑。有兴趣的可以看看:

A new vertical edge detection algorithm and its application)

2.全局图像解析,就是将整个图像都考虑进去,有轮廓检测法,预存一些车牌模型进去。这样的做法可能精确率在普遍的情况下会比较高,但是低于低分辨率(轮廓扭曲的)就不太合适,以及比较费时(准备模型多)

3.纹理处理法,通过解析图片中颜色频率过度来鉴别,就比如说车牌底色为黑色,车身又是另外的颜色(如黄色),这样容易区分出来。当有很多边缘的时候就是出现计算量大,目前不太适合应用。

 

 

剩下的3,4部分就等下次再补充吧。先撤。

如果想来个综合了解的话可以直接从这个paper里看:   

Automatic License Plate Recognition (ALPR):A State-of-the-Art Review

 

posted @ 2017-03-27 09:36  DennyZ  阅读(1007)  评论(0编辑  收藏  举报