《武汉工程大学学报》  2015年11期 69-73   出版日期:2015-12-30   ISSN:1674-2869   CN:42-1779/TQ
复杂光照下的车牌定位方法


0 引 言 智能交通系统(Intelligent Transportation System,简称ITS),车牌自动识别系统(License plate recognition,简称LPR),在ITS中扮演十分重要的角色,在如今这个电子时代,超速车辆检测、停车场管理等领域更是必不可少的. LPR通常由图像采集、车牌定位、字符分割以及字符识别组成,尤其这四个组成部分中车牌定位部分是车牌自动识别得以实现的前提,也是后续的字符分割和识别的基础,很大程度上直接决定着车牌识别系统的速度和识别率. 目前车牌识别系统研究已发展到一定阶段,使用的车牌定位方法也各种各样,主要有:基于边缘检测的方法[1],文中采用Canny算子进行边缘检测,但是该算法不能很好处理某些因长期使用导致褪色或倾斜的车牌;基于小波变换的车牌定位方法[2],该算法中当摄像机与车辆距离太远或太近时,该方法准确率不理想;基于投影法的定位方法[3],这种方法的执行速度快,但是只针对车牌大小及距离一定的情况有效;基于形态学的车牌定位方法[4],该方法需结合其他算法来提高定位的准确率. 但是在实际生活中,采集到的彩色车牌图像在一定程度上会受到复杂背景的影响,尤其是在光照过强或不足的情况下,釆集到的车辆图像质量较低,往往会得到错误或准确度不高的的车牌区域,从而影响整个车牌识别的准确率. 为解决以上问题,提出了车牌定位方法. 车牌定位方法步骤如下:首先,对车牌进行预处理,将采集到的车牌由RGB彩色模型转化为HSV彩色模型,随之分割为H,S,V这3个单通道灰度图像. 车辆在行驶过程中,外界环境及天气的变化都将导致光照强度产生相应变化,因此,要想获取精确的车牌定位,就必须克服外界光照变化带来的影响,在这一点上,因RGB彩色空间在表征颜色特征时,受光照影响很大,存在较大的局限性. 而与之相比,HSV颜色空间存在绝对优势,HSV不存在类似的问题,在HSV彩色空间中,色度H和亮度V是分离的,因此对亮度V和色度H中的任何一个进行处理,都不会影响另一个,避免了亮度信息干扰色度信息,基于HSV的这一特性,接下来对分割后表示亮度的V通道进行亮度处理,然后将这3幅二值图象做“与”处理运算,对重组后的图象进行灰度化、去噪和二值化等预处理,得到一幅能有效去除背景干扰而且获得适合的亮度的二值图像;接着使用基于Canny算子的车牌粗定位以及投影法的进一步精确定位,获得准确车牌区域;整个过程通过MATLAB 7.0软件实现,精确定位出车牌区域. 1 车牌预处理1.1 预处理流程由于复杂的外界因素,以及光照、噪声等都会对采集的原始彩色图像质量造成影响. 从而无法达到后期处理的要求. 所以仅仅对表示亮度的V单通道做处理是不够的,还需要对重组的HSV彩色图像做预处理,具体流程如图1所示. 图1 车牌预处理流程图Fig.1 Flow chart of license plate pretreatment 1.2 单通道图像对以上预处理之后的图像进行处理获得单通道图像,三单通道图像如图2所示. 图2 单通道图像Fig.2 Single channel images 1.3 V通道图像亮度处理后图像在HSV彩色空间中,因为色度H和亮度V是分离的,所以对亮度V和色度H中的任何一个进行处理,都不会影响另一个,即去除了亮度对色度信息的干扰,基于HSV的这一特性,对分割后的V通道图像进行亮度处理,V通道图像亮度处理后图像如图3所示.图3 V通道亮度处理后图像Fig.3 V channel image after brightness processing 1.4 预处理后图像由图3得到V通道图像亮度处理后图像,然后将这3幅二值图像做“与”运算,并接着对重组图进行灰度化、去噪和二值化等预处理,最终得到一幅能有效去除背景干扰而且获得适合的亮度的二值图像,整个预处理后获得的图像如图4所示. 图4 预处理后的二值图像Fig.4 Binary image after pretreatment2 基于边缘检测的车牌粗定位一幅图像中存在很多信息,而边缘又包含了许多图像的内在信息,边缘即图像周围像素灰度有 “屋顶”状变化的集合,车牌边缘几乎是一个水平的长方形,而且对于一个整体车牌来说,车牌字符的位置是固定不变且按水平方向排列的,牌照区域中灰度值明显不同于周边区域,两块不同的区域值之间会形成一个灰度突变边界,所以车牌图像边缘会形成边界,利用这一特性,可采用边缘检测方法进行粗定位[5-6]. 边缘检测是为了提取图像中将背景和对象隔开的交界线,通常采用一种算子来实现这一目的,常见边缘检测算子有:Roberts算子、Prewitt算子、Laplaeian 算子、Sobel算子、Canny算子等. 相比较而言,针对需求,选用Canny算子最佳,首先,图像滤波、图像增强、图像检测等功能,都可用Canny算子实现,其次,采用Canny算子对图像进行预处理,进行图像去噪、图像增强并算出梯度幅值和方向,这样做可准确定位车牌边缘,除此之外,在处理过程中,Canny算子存在一个非极大值抑制过程,最后,Canny算子还采用高低阈值来修补不连续边缘[7]. Canny算子基本步骤如下:首先将预处理之后的车牌灰度图像与高斯平滑滤波器做卷积,目的是图像去噪;其次通过求偏导,计算出图像的梯度幅值和方向;紧接着采用抑制非极大值的方法过滤出局部梯度值中最大的像素点,来初步得到图像的边缘;然后继续用双阈值法继续处理,获得两个阈值边缘图像,设定由较小阈值得到的为图像1,设定较大阈值得到的为图像2;最后,结合两个图像的优缺点,以图像2为基础,利用图像1中保留的边缘细节信息来补充图像2中所缺失的信息,连接图像边缘. Canny算子检测后的图像如图5所示. 图5 Canny算子检测后的图像Fig.5 Images after detected by Canny operator 从图5中可见,经Canny算子边缘检测后的车辆牌照图像,边缘得到了很好的勾勒和加强,车牌区域十分突出,为接下来的车牌精确定位提供了良好的基础.3 基于投影法的车辆牌照精确定位3.1 水平方向定位在车辆牌照中,车牌背景和字符的灰度,以及水平方向与垂直方向灰度变化都存在极为明显的差异,而且水平方向比垂直方向频繁,车牌上的7个字符号码拥有相同大小的尺寸,这一特点给定位带来便利,这使车牌水平方向的投影规律性强,又因车牌都处于车身下部,故而在确定车牌边界时选择由下而上的扫描方法. 对车牌图像进行从下至上扫描. 首先,从牌照图像的底部开始逐渐向上扫描,将二值图像中的任一行0,1跳变的次数作为投影值. 开始扫描工作不变直至投影值等于14的行,则执行下一步;然后,将当前行设为开始行,继续扫描工作,直到出现投影值小于14的行,作为结束行[8];最后,计算开始和结束行之间行数,若该总数大于15小于50,则定开始行为下边界,结束行为上边界,扫描结束,否则继续执行上一步. 3.2 车牌垂直方向定位首先同上方法,利用垂直方向差分运算获得垂直投影图像. 能看出垂直投影图像不是惟有一个单峰,而是一个由多个单峰组成的多峰值图像,假设最高峰的4/5为阈值,继而寻找首次出现的比该阈值大的边沿波峰,去掉该峰左侧峰谷之外的所有部分,且确定最后一个比该阈值大的边沿峰,同样方法,去掉该峰右侧峰谷之外的部分,得出车牌区域[9]. 4 实验结果分析与比较采用本文的方法在MATLAB软件中车牌定位的最后结果如图6所示. 图 6 车牌定位的结果Fig.6 Results of license plate location为了体现本文提出方法的优势,将本文的方法与文献[7]中的方法进行比较,选用同一张在光线较暗环境下拍的车牌图像进行车牌定位,比较结果,由参考文献[7]中方法得出的车牌定位结果如图7所示. 图 7 车牌定位的结果Fig.7 Results of license plate location 两种方法的效果比较,采用的是车牌号为“桂AB 9388”的车牌图像,该车牌图像是在一个阴雨天气,光线不足的情况下拍摄的. 图6是本文所得车牌区域,图7是采用文献[7]中将投影法和形态学相结合的定位算法所得车牌定位图,可以看出采用本文的方法得到的结果非常清晰,定位也相当准确;而参考文献得到的结果中车牌中的数字和字母都存在一定缺失,这对接下来的字符的分割及字符的识别有很大的影响,最终不能得到正确的车牌号. 如图8所示给出了两种方法得到的最终的车牌号,图8(a)是本文方法得到的车牌号“桂AB 9388”,车牌号是正确的,图8(b)是参考文献方法得到的车牌号“桂X 89388”,车牌号是错误的. 可见本文的车牌定位方法,具有定位时间短,效率高的优点.图 8 识别的车牌号Fig.8 Recognized license plate number5 结 语以上介绍了一种基于HSV彩色空间的图像预处理方法和基于边缘检测和投影法的车牌定位算法,归纳提出了有效去除背景干扰同时获得合适亮度的图像预处理步骤,然后在图像预处理的基础上,结合车牌本身固有的一些特征及丰富的边缘特性,采用Canny算子进行基于边缘检测的粗略车牌定位,获得粗略车牌区域,然后采用投影法方法进行进一步相对准确定位,获得最终所需的精确车牌区域. 采用MATLAB7.0进行仿真实验,MATLAB有基础图像处理方面的工具箱,使用者通过直接调用工具箱里的相应函数来实现图像处理,还提高了处理速度. 由实验结果可知,该论文所提出的车牌定位实用性强,能够处理复杂背景和噪音较大情况下所拍车牌,而且处理效果极佳、易于实现,是一种简单、高效且实用的定位算法.