一种对车牌定位与字符分割算法的研究
2018-05-21王新杰黄顺黄益平张晓姿
王新杰 黄顺 黄益平 张晓姿
摘 要: 车牌识别问题是现代交通工程领域中研究的重点和热点问题之一,受到人们越来越多的关注。车牌识别处理一般分为车牌定位、字符分割与字符识别这三个主要部分。本文提出一种车牌照定位、字符分割算法,利用车牌照的颜色、车牌照颜色边缘化与几何特征等共同定位车牌。二值化投影法对普通车牌进行粗略的字符分割,并通过字符的宽度、字符几何特征与字符的个数,进行精确分割,最终分割出有效的车牌字符。实验数据表明该算法能对车牌进行有效的定位与字符分割。
关键词: 图像处理;车牌识别;字符分割
1.引言
随着社会经济的发展、汽车数量急剧增加,对交通控制、安全管理的要求日益提高,运用电子信息技术实现安全、高效的智能交通成为交通管理的主要发展方向。车牌识别系统的运用大大提高交通管理的效率,有利于交通管理的科学化、规范化,同时节省了人力、物力。车牌识别系统广泛应用于电子收费、出入控制、公路流量监控、失窃车辆查询和停车场车辆管理等需要车牌认证的场合;尤其在高速公路收费系统中,实现不停车收费提高公路系统的运行效率,车牌系统更具有不可替代的作用,因而从事车牌技术的研究具有极其重要的现实意义和巨大的经济价值。在车牌识别系统中对车牌照的定位与车牌字符进行分割是车牌识别的一个重要环节,车牌照定位与字符分割的结果将直接影响字符识别正确率。本文将会对车牌字符分割提出一些新的算法及改进。
2.车牌识别的原理
车牌识别系统的基本工作原理为:将摄像头采集的彩色RGB图像数据传输到DSP。由于彩色RGB图像数据包含大量颜色信息,不仅会占用MCU太多的存储空间而且还会降低系统的执行速率,因此通常先需要将采集过来的彩色数据转化为灰度图像,以加快系统处理速度。得到灰度图像,进行滤波等预处理,然后边缘提取,由车牌定位算法找出车牌,取出车牌,用字符分割将车牌字符分割出来,同时将分割的字符缩放到与模板相同的像素点,然后进行二值化与模板进行差值比对,得到最相似的字符,最终得到车牌信息。
3.车牌照定位
3.1 颜色法车牌粗定位
经过摄像头提取图片后进行车牌图片预处理,将预处理后的车牌图片RGB模型转换为HSI模型[1]。H表示色调、S表示饱和度、I表示亮度,模型转换公式如(1)所示。利用车牌的颜色特征进行车牌的粗略定位。普通车牌底色为蓝色,因此只需将符合车牌颜色特征的区域筛选出来。在大量的测试数据中得到符合蓝色车牌条件;则当像素点满足公式(2)时将二值化图像中的此像素点置1,不满足时置0。
3.2蓝白边缘化与车牌几何特征进行区域筛选
使用颜色边缘检测筛选车牌区域。将车牌照原图的蓝白边缘像素点置成1,其它像素点置成0,得到边缘化二值图像。边缘化方法采用从左往右跳变扫描法。从左往右依次扫描,当像素点的HSI从满足车牌蓝色点到像素点HSI不满足车牌蓝色点作为一个边缘点。将此边缘点置1,其它置0,如公式(3)所示,得到藍白边缘化图片。然后使用形态学开闭处理勾勒出车牌所在区域的轮廓,根据车牌照的几何特点的先验知识去除不满足要求的轮廓,最后得到车牌区域的轮廓位置。
3.3车牌提取
使用所得到车牌轮廓滤除干扰区域,得到车牌的唯一所在位置。根据的轮廓位置将二值化图像的干扰区域全部置0。使用水平投影得到车牌照的上下位置坐标,使用垂直投影方法得到车牌照的左右位置坐标。水平投影方法:从左往右依次扫描二值化图像,记录一行中白色像素点的个数,最后将白色像素点个数进行水平投影。设置阈值,当像素点的个数超过阈值时,即得到车牌照的上下边框位置。垂直投影方法:从上往下依次扫描二值化图像,记录一列中白色像素点的个数,最后将白色像素点进行垂直投影。设置阈值,当像素点的个数超过阈值时,即得到车牌照左右边框的位置。最后根据具体位置在原图中提取出车牌照。
4.字符分割
4.1改进垂直投影粗分割
本文使用一种由粗到细的分割方法。使用二值化车牌照的垂直投影、车牌字符的个数、车牌字符的宽度与高度的比例等先验知识相结合的方法进行车牌字符的分割[2]。将提取出来的车牌图片进行亮度均衡化、灰度化、二值化、柳丁去除和车牌字符第三个白点的去除等预处理,然后进行字符分割。对预处理后的二值化车牌照进行垂直投影,传统的垂直投影法使用列方向黑色像素点的个数进行垂直投影,这种方法对于有污染的车牌分割效果并不好,因此使用差值垂直投影法进行字符的分割。从上往下逐行扫描车牌照二值图像,当遇到黑色像素点时,记录位置为i1。然后由下往上扫描,当遇到黑色像素点的位置i2,此列的垂直投影高度h=i1-i2。转到下一列继续扫描。这种投影方法能有效的解决因污染所带来的干扰。设置一个阈值r,本文中r=2,当一列中的投影高度h小于r时,此列为字符的间隔列。使用此方法粗略分割出所有字符边界,记做LPosition[i], RPosition[i]。此次分割出来的字符包括完整字符、干扰字符与车牌边框等。
4.2根据先验知识进行字符细分割
每个字符的宽度为BUFF[i],BUFF[i]=RPosition[i]- LPosition[i];车牌高度为CharHeight;相邻字符宽度差为CharDif。根据经验值当BUFF[i]>CharHeight/3.4并且BUFF [i]< CharHeight时表示车牌字符宽度,当相邻的两个字符宽度在|CharDif|<3时表示这两个字符为车牌字符宽度[3]。将满足所有条件的字符宽度相加除以满足条件字符个数得到车牌字符的宽度CharWidth。
从左往右扫描首先找到第一个满足|(BUFF[i]- CharWidth)|<3的字符记char1。假设当车牌第一个字符为左右分开结构的字符时(如陕、川等),此时得到的char1为车牌的第二个字符。当车牌第一个字符为连续的字符时,此时的char1为车牌的第一个字符。从char1向右搜索第二个满足上述条件的字符记做char2。根据经验知道,车牌第二个与第三个字符之间的间隔比其他字符间隔要宽2.8倍。根据车牌高度得到阈值Q,当char2与char1的差小于阈值Q时确定char1是车牌字符的第一个字符,char2是车牌字符的第2个字符。此时根据字符宽度CharWidth向右扫描依次得到剩下的字符char3, char4,char5,char6,char7。当char2与char1的差大于阈值Q时得到,char1是车牌字符的第二个字符,char2是车牌字符的第三个字符。根据字符宽度CharWidth从char1向左扫描得到车牌的第一个汉字字符,再次根据char2,向右边扫描依次得到剩下的4个车牌字符。
此方法能够解决大部分第一个汉字字符为左右偏旁、字符断裂、字符粘连、左右边框残留等易分割出错的问题。
5.结论
本文对车牌定位、字符分割提出了一种由粗到细的定位与分割算法。利用车牌照的颜色纹理特征,车牌照的几何大小、形状等共同定位车牌,该方法能有效的滤除因光照、其他干扰所带来的噪声,对于车牌定位有较高的准确性。在字符分割同样使用由粗到细的算法,该算法对于左右偏旁汉字具有很好的分割效果在实际应用中有一定的参考价值。
参考文献
[1]康健新.基于图像的车牌识别系统的设计和实现[D].吉林大学,2014.
[2]谢伟生.车牌定位及字符分割算法的研究与实现[D].西南交通大学,2010.
[3]李云.车牌定位与字符分割算法的研究及实现[D].电子科技大学,2010.