摘 要: 针对加油站管理系统中的车牌定位问题,在对彩色图像灰度化的基础上,利用迭代法进行图像分割,利用行扫描技术并结合车牌字符特征,实现了车牌的准确定位,实验证明了该方法的有效性。
关键词: 车牌定位; 迭代法; 二值图像; 行扫描
加油站信息管理系统利用信息技术对油品销售、油料配给等进行实时、高效、智能的监控和管理,从而极大地降低了运行和管理成本,减少投入,以较低代价获取最佳的经济价值,因此具有明显的经济和社会效益。国内的大型钢铁、交通物流、港口码头等企业都有内部加油站为本公司车辆加油,而且油料在生产成本中占据了很大比重。利用IC卡技术可在一定程度上实现对车辆的用油统计和管理,但无法完全杜绝用油中的漏洞,存在IC卡用于非对应车辆加油现象。利用加油车辆的车牌信息判别是否为授权加油车辆,可最大程度地保证加油车辆的合法性,提高用油管理的等级,能在较大程度上杜绝用油漏洞。
加油站管理系统通过摄像头对进入加油站的车牌进行图像抓拍,并对抓拍的图像进行号码自动识别,获得数字化信息来进行有关的管理和控制,对登记过的合法车辆授权加油机进行加油。车牌识别的工作过程分为两个步骤:一是确定车牌在整个图像中的位置;二是车牌号码字符识别,即从车牌图像中识别出车牌号码,并输出车牌号码字符串。在加油站中,基于防爆考虑,拍照时不能进行补光,采集的图像较暗,尤其在晚上更为突出,因此研究一种快速有效的车牌定位技术显得尤为必要。
国内外学者对车牌定位进行了广泛的研究,提出了许多算法,如基于数学形态学的方法[1],该方法利用选取合适的结构元素使车牌区域形成闭合的连通区域,通过这些连通区域的筛选可以将车牌找到,运算量较小,但识别准确率不高;基于神经网络的方法[2-3]则需把图像特征输入神经网络进行学习,计算量很大,同时存在网络局部收敛、车牌定位时间长等问题;基于Hough变换进行直线检测的方法[4],计算量较大,对于边框小、连续的车牌,需附加大量的运算;基于彩色图像的车牌分割方法[5]一般将输入的RGB彩色图像转换成HIS空间的彩色图像,需进行大量的浮点运算,然后进行色彩分割,再进一步定位车牌,计算量很大;基于模糊逻辑的方法[6]需要在图像属性域和模糊域之间变换,实时性比较差。本文在利用迭代法生成二值图像的基础上,利用行扫描技术,结合车牌图像的字符特征,研究了一种适合加油站使用的车牌定位技术,为后续的字符识别提供技术支持。
1 图像的灰度化
视频采集系统输出的是24位真彩图像,彩色图像包含大量的颜色信息,图像信息更加丰富,但也存在存储空间大、计算量大等缺点,为此要把彩色图像转换为灰度图像。将彩色图像转换为灰度图像的方法有以下三种:
对一幅彩色图像进行灰度化,其结果如图1所示。
2 图像阈值分割
直方图阈值法是灰度图像广泛使用的一种分割方法,它基于对灰度图像的这样一种假设:目标或背景内部的相邻像素间的灰度值相似,但不同目标或背景上的像素灰度差异较大,反映在直方图上,不同目标或背景对应不同的峰。选取的阈值应位于两个不同峰之间的谷上,以便将各个峰分开,典型的方法有Otsu方法、最大熵方法等。基于直方图的方法要求直方图是双峰的,即要有明显的谷底以便选取阈值。由于车牌图像中,相对于车牌区域来讲,背景比较复杂,图像不一定有明显峰值,因此本文采用迭代法来获取阈值,因为迭代法不要求直方图有明显的双峰。迭代法方法如下:
(1)求出图像的最大灰度值和最小灰度值,分别记为Gmax、Gmin,使初始阈值为:
(2)在t步,根据t-1步计算的阈值,将图像分割为背景和目标,并利用式(6)计算目标和背景的平均灰度,
g(i,j)为像素点(i,j)的灰度级:
直到两组的平均灰度值不再发生改变,这时得到的就是所需要的阈值。利用上述方法对图1进行图像分割后的结果如图2所示。
3 行扫描的车牌定位技术
3.1 车牌行扫描
牌照区域区别于其他区域的最明显的特征是:牌照区域有按一定标准排列的字符,不仅字符和车牌底色在灰度上存在跳变,且在车牌区域有丰富的边缘存在,呈现出规则的纹理特征,具体可归结为该区域水平方向灰度变化频度比较高。记图像中第i行灰度变化函数为f(i)(0≤i≤M),M为图像的高度,使用水平扫描线获取整幅图像每行的灰度变化值,即二值化后图像由黑到白或由白到黑的变化频率。由于车身和背景的水平灰度变化值要低于车牌区域,据此设计的行扫描技术如下:
(1)统计二值化后图像第i行的灰度变化值,采用的公式为:
g(i,j)表示在像素点(i,j)上的灰度级。即横向扫描线扫描到的像素点,其值的变化从黑点变到白点,或者从白点变到黑点,这时统计的数据加1,整行扫描完获取的就是第i行的灰度变化值。
(2)求出图像行灰度变化值大于零的行的灰度变化平均值,计算公式为:
(3)对f(i)进行拷贝,得到fc(i)后,去除所有f(i)小于Ave的行,即将这些行的f(i)置为0。对图2进行行扫描后的结果如图3所示。
3.2 车牌区块状化
利用上文所述方法进行车牌扫描后,其结果可能把车牌区域的某几行去除,当然车牌区域大多数行仍然保留着,所以要进行区域块化,以保留完整的车牌区域。根据实际情况和实验表明,在车牌区域中行灰度变化值f(i)>0和f(i)=0的变化间距不会超过某个数值T1,因为车牌区域的字符是连贯的,而且车牌周围的背景比较稳定,所以以行距T1作为归并车牌区域的阈值。T1在实际中可以取一个合适数值,如5或6。
具体算法如下:
(1)遍历所有i(0≤i≤M),只要满足f(i-1)>0&&f(i)=0,进行步骤(2),否则继续步骤(1);
(2)令j=i,满足j>i+T1&&j≤M;若存在f(j)>0,则可以使i到j这几行的f(j)=fc(j),即让其恢复原值,完成区域块化;
(3)去除零散区域。由于车牌在整幅图像中的宽度不可能小于T2个像素,同时实验结果表明以T2取10~15作为去除零散区域的阈值比较合适。首先查找满足f(i-1)>0&&f(i)=0的行,则第i-1行为此区域的边界,从此边界开始向下搜索T2个像素,如果存在f(i)=0,说明此区域的行宽不足T2,则去掉此零散区域,即令f(i)=0;
(4)判断是否i≥M,如果是则退出,否则继续步骤(1)。
利用此算法对图3进行处理的结果如图4所示。
3.3 利用车牌特征选取条状区域
在剩余的矩形区域中,统计每个矩形区域中灰度跳变点总数,将总数最大的那个区域确定为车牌区域,如图5所示。若此区域不存在,则认为图像中无车牌图像。接着,要在可能的条状区域中选择车牌可能在的块状区域。原始车牌中每个字宽45 mm,字高90 mm, 间隔符宽10 mm,每个单元间隔12 mm,根据这些尺寸,可以得出车牌区域中字高和字的总长比值约为1:5。
经过前面的筛选,留下的条状区域必然紧贴字符,假设可能的每个条状区域的行高为H,按照1:5的比例,获取此条状区域中所有H×5H的块状区域,计算这些块状区域的灰度变化值B(i),其中最大的B(i)值对应的块状区域即为可能的车牌块状区域。
3.4 密度法获取精确位置
由于车牌区域字符纹理的复杂性,其单位面积的灰度变化值应该是最大的,若可能的第i块车牌区域的灰度变化值为B(i),面积为A(i),就可得到灰度变化值的密度为D(i)。比较所有的密度值,则最大的密度值对应的区域即为车牌区域。其中,
利用此法获取的车牌区域如图6所示。
4 实验
在VC++6.0环境下开发车牌定位系统, 在Pentium(2.2G)CPU、2 GB内存的计算机上对300幅车辆图像进行车牌牌照图像获取测试。试验结果如表1所示,车牌定位总有效率在96%以上。算法中,由于在车牌区块化的过程中对车牌行扫描中去除的车牌区域进行了复原,因此车牌没有出现漏检区域,但是出现了将非车牌的背景区域也包含进来的情况,算法有待进一步改进。
本文针对加油站管理系统中的车牌定位问题展开研究,在灰度化的图像上进行迭代法分割图像,并采用行扫描技术结合车牌字符特征,对车牌区域进行了准确定位。本文提出的定位算法计算量小、处理速度快。实验结果表明,其总有效率达到了95%以上,具有较高的检测速度和准确率。
参考文献
[1] 卢雅琴,邬凌趟.基于数学形态学的车牌定位方法[J].计算机工程,2005,3l(2):224-227.
[2] 张兴会,杜升,陈增强,等.基于神经网络的车牌照自动识别系统[J].仪器仪表学报,2001,22(3)增刊.
[3] JUNG K. Neural network-based text location in colorimage[J]. pattern recognition Letters,2001(22):1503-1515.
[4] SURAL S, DAS P K. Fuzzy hough transform and an MLP with fuzzy input/output for character recognition[J]. Fuzzy Sets and Systems,1999:489-497.
[5] 任德华. 自然复杂环境中基于颜色的多车牌定位研究[J]. 中国图象图形学报, 2009,14(12):2517-2525.
[6] WANG Feng, MAN Li Chun, WANG Bang Ping, et al. Fuzzy-based algorithm for color recognition of license plates[J].Pattern Recognition Letters,2008(29):1007-1020.