《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于形态学微分的车牌字符分割算法
基于形态学微分的车牌字符分割算法
来源:微型机与应用2012年第8期
金百东, 李文举
(辽宁师范大学 计算机与信息技术学院, 辽宁 大连116081)
摘要: 提出了基于形态学微分的车牌字符分割算法。首先运用形态学微分算法获取车的边界,然后通过巧妙选择连通区域进行深度搜索即可直接获得车牌每个字符的矩形区域。本方法省去了一般车牌识别中的车牌定位部分,对有一定倾角的车牌也有一定的适应能力。
Abstract:
Key words :

摘  要: 提出了基于形态学微分的车牌字符分割算法。首先运用形态学微分算法获取车的边界,然后通过巧妙选择连通区域进行深度搜索即可直接获得车牌每个字符的矩形区域。本方法省去了一般车牌识别中的车牌定位部分,对有一定倾角的车牌也有一定的适应能力。
关键词: 形态学;字符分割;车牌识别;深度搜索

    随着信息技术的飞速发展,智能交通系统的应用越来越重要,如小区进出车辆管理、十字路口车辆拥堵情况预测和车辆跟踪等。智能交通系统的一个重要研究方向是车牌识别。车牌识别一般分为车牌定位、字符划分和字符识别3部分。其中车牌定位是最关键、最难实现的部分。目前车牌定位常用方法有:(1)彩色分割,适合于蓝底白字、黄底黑字车牌,但如果车牌与车身颜色相近或者车牌为白底黑字、黑底白字,就显得有局限性了; (2)灰度微分图像+形态学处理,适合于简单边界,若车牌附近边界复杂,则不易识别出真实车牌边界;(3)神经网络,计算量大,因此真正用于实时车牌识别还是非常难的;(4)基于纹理的方法,主要利用车牌区域灰度波动范围大的特点,但如何完全量化波动特点,尽可能大地适应各种边界条件也是非常不容易的。
    一般来说,车牌区域识别是进行车牌字符分割的先决条件。而本文提出的算法巧妙越过了这一环节,直接进行车牌字符分割,获得了每一个字符的矩形坐标区域,运行速度快,可以满足车牌识别实时性的需要。
1 车牌字符分割原理
    本算法是针对灰度图像的。为了说明清晰,以自绘的理想情况中单个车牌字符“5”为例加以说明,背景为黑色,代表车牌底色。
    从生理学上来说,人们之所以能认清车牌,是因为车牌中每个字符能强烈刺激视网膜。因此,可以得出,每个字符与其周围的车牌底色一定是差别较大的,对比度越大,字符越清晰。再如在夜晚时,由于光线较暗,人们可能看不清车牌区域,但却有可能看清车牌中的每个字符。
    从上述两点来看,实现智能车牌识别应从车牌单个字符识别开始。若从车牌区域定位开始,则一定会遇到各种难处理的边界条件。
    车牌字符提取的根本目的是获得每个字符的矩形坐标,算法思想如下。
    (1)选择微分算法。对车牌图像进行微分操作,该微分操作必须能获得清晰的字符边界图像。图1中,左侧是原始图像,右侧是微分后的图像。

    (2)搜索连通区域。有很多人选择图1右侧图“5”的外边界,即“亮”的区域进行搜索,但这却是不好的。由于实际车牌的复杂性,“5”的外侧“亮”区域有可能与其他“亮”的区域是相通的。因此应该选择“暗”的区域进行搜索。图1中“暗”区有两个。通过设置车牌字符最小宽度、高度和长宽比,很明显判定出车牌底色连通暗色区域非字符区域(即“5”字符内部暗区域),箭头指向区域是车牌字符区域。
    可能有研究者怀疑,“5”字内部暗区域一定会与车牌暗区域分开吗?从理论上讲是肯定的。因为前文中已述,车牌字符区域与车牌底色对比度是比较大的,因此微分后字符内区域与车牌底色区域一定由微分“亮”边界隔开了。
    (3)进行线性拟合运算。通常车牌有7个字符,首字符是汉字,不一定是单连通字符;后6个字符在0~9、A~Z之间,是单连通字符。因此按步骤(1)、(2),理论上可获得6个字符的矩形区域,但由于车牌复杂性,实际上可能获得少于6个字符的矩形区域。此时只须根据已有字符的矩形坐标进行左外推、右外推、中间插值,即可获得未知的字符矩形坐标。
2 关键技术
2.1形态学微分算法

    车牌是图像中很小一部分,微分算子必须考虑到细节部分。Sobel、Prewitt和Laplace算子均是方位算子,对检测某方位直线等非常有效。但由于车牌字符的方位是不确定的,比如“1”是竖直的,“5”既有水平的、竖直的,也有其他方向的,因此无法确定具体的微分算子矩阵。Canny算子虽然效果较好,但计算量大,还要确定划分阈值的上限和下限。比较简便易行的是形态学微分算法。
    
    图2(a)是实际图像,图2(b)是形态学微分图像。可以看出,微分图像比较好地反映了每个字符的边缘。
    图2(b)是图2(a)膨胀一次减去图2(a)的结果。其实可以根据现场情况设定膨胀次数(>1),这样把一些无关的暗区域或亮区域都连通了,减少了后续的搜索工作量。

 

 

    随着摄像技术的发展,已实现了高清采集,原始采集图无须进行滤波。实验发现,对原始图像分别进行平滑、中值及高斯滤波后,再进行形态学微分,结果图都不如直接在原图上进行形态学微分的结果图清晰。这仍是因为车牌在整个图像中所占比例太小了,无论何种滤波都削弱了车牌字符的边界部分,只有原图是对比度最大的。
2.2 微分图像二值化
    为了方便跟踪微分图像,要对其进行二值化处理。与Sobel、Prewitt和Laplace微分图像相比,形态学微分图像显得更洁净,黑白分明,在直方图上呈现出典型的距离较远的双峰特征,因此用灰度平均值作为阈值即可(设图像为M行N列):
  
   
    当然,也可以用OSTU类间最大方差法、类间最大交叉熵法或类内最小模糊散度法等求阈值,这些方法算出的阈值二值化效果并没有与本文中论述效果有太明显的差别,这是因为形态学微分后结果图非常洁净的缘故,因此用累积均值作为阈值也就足够了,还节省了时间。
2.3 连通域搜索获得字符矩形坐标
    我国常用车牌有蓝底白字、黄底黑字、白底黑字和黑底白字4种。蓝底白字和黑底白字车牌经过微分、二值化后字符内边界是黑色(0);黄底黑字和白底黑字车牌经过微分、二值化后字符内边界是亮色(255)。因此,搜索要考虑这两种情况。若对暗区进行搜索没有找到车牌字符的连通域,说明不是蓝底白字和黑底白字车牌,只需要对该二值图像按亮区进行搜索即可。搜索算法如下:
    while(自下向上,从左至右扫描,若有连通域(暗或亮),
    置成当前连接域)
        {
                 BFS层次遍历连通域,得矩形边界
                     及连通域内累积像素点数
            若参数满足字符内约束条件,则把矩形坐标
                加入向量V中
        }
    遍历矩形向量V,找出满足字符间约束条件的矩形元
    素坐标集合A。若A元素不足7个,则应用线性拟合找
    出未知车牌字符坐标。
    算法中“字符内约束条件”是指矩形窗口长宽的极小值、极大值、长宽比范围及连通域内像素数范围等;“字符间约束条件”是指车牌字符的高度应该相近,矩形坐标应该集中在一个区域中。
    对图3(a)二值图像进行了搜索,得到的车牌字符分割图像如图3(b)所示(用白色标志),可以很清楚地看出找到每个车牌的矩形坐标。当然图像上还有用白色标识出的其他矩形区域,通过简单约束条件就可以消除掉。
2.4 有效区域设定
    车牌区域在图像中占有很小的一部分,很容易受到其他因素干扰,影响车牌识别的精确度。通过对大量车牌图片的分析可以得出,要想识别出车牌,车牌图像应有一定大小并要在整个图像的下半部分。因此,之前的所有算法及其功能仅针对图像下半部分操作,无须涉及上半部分图像元素,最大限度地屏蔽了上半部分图像元素对车牌识别的影响。
    总之,可以根据实际需要设置一定范围的有效区域,提高车牌识别效率。
3 有一定倾角示例
    本文算法对有一定倾角的车牌也是适用的。图4(a)是原始彩色图像,图4(b)是将图4(a)转化为灰度图像,图4(c)是形态学微分、二值化后图像,图4(d)是根据图4(c)进行连通域跟踪、字符矩形定位,并用白色显示在原始彩色图像上,可以用简单的分类方法把伪字符的白色矩形去掉。

    本文运用形态学微分算法,通过巧妙选择连通区域直接获得了车牌每个字符的矩形区域,省去了常规方法中车牌定位功能,提高了时间效率。而且,本算法本质上是对车牌字符内部的连通域进行搜索,因此若把这些点的坐标都记录下来,也能很快识别出具体的字符内容来。
    当然,还有一些问题有待进一步研究:(1)车牌字符至少要多大,才能适应本算法?(2)车牌字符与车牌底色至少反差多大,才能适应本算法?(3)若搜索到的字符矩形区域少于7个,如何更好地外推出其他字符的位置?(4)如何更好地定义“字符间”约束条件?
参考文献
[1] 贾曌峰,陈继荣.基于字符检测的车牌定位方法[J].计算机工程,2010,36(3):192-194.
[2] 王成,黎绍发,何凯.基于简化PCNN的车牌定位算法[J].计算机工程,2010,36(24):178-179,182.
[3] 张云刚, 张长水. 利用Hough 变换和先验知识的车牌字符提取法[J]. 计算机学报, 2004,27(1):130-135.
[4] 张美多,郭宝龙. 车牌识别系统关键技术研究[J].计算机工程, 2007,33(16):186-188.
[5] 李文举,梁德群,张旗,等. 基于边缘颜色对的车牌定位新方法[J]. 计算机学报,2004,27(2):204-208.

此内容为AET网站原创,未经授权禁止转载。