一种基于数学形态学和Hough变换的车牌图像检测及定位算法
扫描二维码
随时随地手机看文章
车牌识别系统(LPR)在现代交通检测和管理部门中发挥着举足轻重的作用。车牌识别系统主要包括车牌定位、字符分割和字符识别三部分[1]。由于车牌定位的准确与否将会直接影响到车牌识别的结果,因此,车牌定位是LPR的一项关键技术。常见的车牌定位技术主要有:边缘检测法[2]、投影法[3]、神经网络法[4]、数学形态学法[5]、基于彩色图像的定位算法[6]。边缘检测法对车牌图像边框的连续性要求较高;神经网络方法计算量大,且要求车牌尺寸基本不变,否则必须对神经网络进行重新训练;基于形态学的方法受噪声影响比较大;基于彩色图像的定位算法适应性差,对于偏色以及背景颜色干扰等情况无法做出有效处理。
由于存在许多外在的干扰,背景信息往往比车牌信息更加复杂,给目标搜索带来巨大的困难,单一的定位方法已经无法保证其有效性。为此,本文提出了一种综合的定位算法,对预处理的图像进行形态学的高帽变换后,利用边缘检测得到连通区域进行粗定位,然后结合Hough变换和车牌的先验知识进行车牌的精定位,该算法充分利用了车牌的字符信息,能够快速而准确地提取出车牌区域。
1 车牌的固有特征
车牌识别是一种特定对象的识别,是一种在先验知识指导下的识别。我国现在使用的车牌主要执行中华人民共和国机动车牌号标准[7],其具有以下的特征:
(1)形状特征:汽车车牌区域的每个字符宽度为45 mm,字符高度为90 mm,间隔符宽10 mm,字符间隔为12 mm,整个车牌区域的宽高比为44/14。这部分特征在车牌的定位分割方面具有重要的意义。
(2)纹理特征:车牌有一个连续或因磨损而不连续的边框;标准车牌(军车、警车、教练车、外交车除外)模块包含7个字符,它们基本呈水平排列;在矩形的车牌区域内部有着较丰富的边缘信息,呈现出规则的纹理特征。
(3)灰度跳变特征:车牌的边缘颜色、车牌底色以及车牌文本颜色各不相同,表现在图像中就是灰度级互不相同,这样,在车牌边缘就形成了灰度突变边界。在车牌区域内部,由于字符和车牌底的内部灰度较均匀,因此,穿过车牌的水平直线呈现出波峰波谷的特点。
2 图像预处理
车牌图像的采集大都是通过摄像机、数码相机等设备拍摄获取的彩色图像,因此首先要对图像进行灰度化处理。
牌照图像在拍摄时受各种条件的限制和干扰,图像的灰度值往往与实际景物不完全匹配,直方图均衡化[8]处理能增加图像灰度值的动态范围,从而达到增强图像整体对比度的效果。
经过灰度增强后的图像还存在各种噪声,中值滤波是一种非线性滤波,它很适合于椒盐噪声(即通常拍摄的图片带有的噪声类型)。
图1显示了本文设计中图像预处理部分的实验效果图,车牌区域的特征被明显增强。大量实验表明,本文采用的图像预处理方法能获得较好的效果,满足实验的要求。
3 车牌定位算法
3.1 车牌区域粗定位
3.1.1 形态学处理
按照牌照底色和字符的颜色对比,可以将车牌分为深色底浅色字的车牌和浅色底深色字的车牌两大类,数学形态学的高帽变换和低帽变换就是分别针对这两类车牌设计的。在本文研究的系统中,全部选用的是蓝底白字的车牌,即深色底浅色字车牌。
高帽变换是基于膨胀和腐蚀操作的一种形态学的应用,对图像进行形态学高帽变换(Top-hat),用Top表示,定义为
高帽变换是原始图像与其开运算之差,开运算用来去除比结构元更小的亮点,同时保持灰度级和较大亮区特性的相对不变。因此,只要选择合适的结构元素,高帽变换就能将亮目标从背景中有效分离出来[9]。如图2(a)所示,经过高帽变换后,对于深色底浅色字的车牌,其车牌字符的区域的特征会得到增强,车牌文本部分变得更加清晰突出,便于让后续的检测处理过程更加简单和省时。
3.1.2 边缘检测
车牌区域的字符与背景有十分明显的边缘而且边缘的个数也很多。Sobel算子对噪声有抑制作用,它对灰度渐变和噪声较多的图像值处理效果较好,对边缘定位比较准确且速度快[10]。采用Sobel边缘检测算子进行边缘检测的效果如图2(b)所示,各个字符都形成了相对独立的区域,当然也有一些非字符形成的干扰区域。对边缘检测后的图像采用全局阈值OSTU算法进行二值化处理,并采用行程码方法标记连通区域,可以得到一系列特定的连通域,同时也可以得到包围各个连通区域的最小外接矩形(bounding-box)和各连通区域的面积。为了方便观察及后续分析,将标记的连通区域表现在原始图像上,如图2(c)所示。
由图2看出,高帽变换使得蓝底白字车牌的字符更加明显,经过了边缘检测,各个字符形成独立的连通区域。
3.1.3 连通区域分析
由于采集到的车牌图像车牌字符的像素个数是在一定范围内的,因此设定最小外接矩形框的面积为S,当S≤500像素或S≥2 000像素时,就认为该连通区域不是车牌字符区域,并将之去除。留下的连通区域包含了牌照的文本区域以及少量的非车牌文本区域,这将有利于在后续的操作中减小搜索范围,提高定位的准确率。
3.2 精定位
3.2.1 Hough变换
根据车牌先验知识,车牌字符一般排成一行,且大小相仿。利用Hough变换检测直线的原理[11]来找出在同一方向上的bounding-box,主要的设计思想是将每个连通成分的中心点通过Hough变换转换到参数空间,通过寻找参数空间的最大值来确定字符组的中心线。
本文的Hough变换算法如下:
(1)在r、θ适当的最大值和最小值之间建立一个离散的参数空间;
满足式(3)的连通区域保留下来,就可以检测到车牌的字符区域,如图4(a)所示。
为了定位出整个车牌,需要将检测到的车牌文本所有的字符区域连通起来形成一个大的连通域,并适当向外扩展。定位出的车牌区域如图4(b)所示。为了避免在上个步骤中出现牌照内的某个字符未被检测到或者仍然留有伪文本区域未去除的情况,从而影响最后的定位结果,因此还需要利用整个车牌的宽高比来检测出最后的牌照区域。选用牌照宽高比为44:14作为判定标准,以此来定位出最后的车牌区域,最后精确提取出的车牌区域如图4(c)所示。
4 实验结果及分析
该算法所需的开发工具为Matlab7.0,实验所采用的车牌图像是在实际环境中随机拍摄的,对汽车的背景没有特殊限制。图5所示的是对4幅不同场景下的汽车牌照进行定位的结果,图5(a)的车牌有些倾斜和变形;图5(b)是在车窗存在反光的情况下拍摄的;图5(c)的车窗存在部分反光的情况,并且背景比较复杂,车身存在很多污迹;图5(d)是在光线较暗的情况下拍摄的,并且车窗上存在其他物体的投影;图5(e)为这四种场景的定位结果,虽然这四幅图像的车牌背景比较复杂,但仍能准确定位出车牌的位置。实验测试结果表明,这种方法对于光照不均、噪声较强、环境背景复杂的图像均能成功定位,并提取出车牌区域,而且算法比较简单,定位速度快,具有很强的鲁棒性。
本文提出了一种基于数学形态学和Hough变换的车牌综合定位算法。其利用了国内车牌字符的特征,经过高帽变换突出感兴趣区域,然后利用边缘信息通过Hough变换检测车牌字符的中心线,能够提高定位结果的准确性。实验结果表明,对于自然场景下的车牌定位,该算法具有较强的适用性。但复杂背景下的车牌定位比简单背景下的定位准确率低,主要原因是复杂环境的背景信息复杂,干扰较多,使得利用Hough变换检测字符组的中心线时出现误差,特别是对于倾斜严重的车牌,本算法的定位率较低,这是下一步的研究方向。