字符分割

2024-08-17

字符分割(共8篇)

字符分割 篇1

目前,我国的97式车牌采用字母、数字和汉字组合而成。要将车牌上的每个字符识别出来,一般需要将这些字符的完整图像从整个车牌图像中分割出来,成为单个字符图像,以便下一步交给字符识别部分进行识别,这就是车牌字符分割的主要任务。车牌字符分割是车牌识别系统的重要组成部分,是五大关键技术之一。

1 车牌字符特征与字符分割

一般而言,车牌进行字符分割之前都要进过一定的预处理,包括二值化,校正车牌的水平和垂直倾斜,去除车牌的上下边缘及无关的背景和归一化等。根据不同的算法,所采用的预处理方法不同。最后,车牌图片只剩下由字符和背景构成的二值化图或彩色图。

根据文献[1]规定,完整的97式车牌图像由7个字符组合而成,包含汉字、字母和数字,每个字符间都存在一个固定的间距。此外,我国根据车辆、车型、用途的不同制定了多种格式尺寸,不同颜色搭配的牌照以示区别。除了字符之间存在间隙的简单特征之外,车牌中的字符还存在以下特征:

1)标准车牌字符的高度H和宽度W分别为90mm和45mm,即标准字符的高宽比为2:1;

2)除第二和第三个字符之间的宽度为34mm外,其余各个字符之间的间隙宽度均为12mm;

可得到如下结论:第二和第三个字符的中轴线相距约79/90H或79/45w,其他应个字符的中轴线间距约为57/90H或57/45w。

如图1,根据这些特点,车牌的字符分割方法较多。根据车牌颜色的分割,比如基于伴生与互补颜色特征的车牌字符分割新方法[2];根据车牌图像纹理特征的分割,如基于边缘检测与Hough变换的车牌字符分割[3],基于字符像素投影统计的分割算法[4],这些算法中,基于伴生与互补颜色特征的车牌字符分割的方法只能主要处理彩色图像,对图像颜色比较敏感,特别是褪色的车牌分割效果很差。基于直线检测的车牌字符分割计算量大,执行效率差。基于字符像素点X轴投影统计的分割算法是一种最经典的算法,对正常车牌的分割效果最好。

现实中,由于各种因素影响,比如光线、天气以及车牌污损,车牌边框干扰等,车牌中存在的字符相互粘连或字符投影间距不明显的情况。由于字符点投影间隙不明确,使得上述几种算法不能对车牌图像进行有效分割。如图的车牌,由于字符粘连和车牌边框的干扰,使用投影算法进行分割的结果如图。由图2可知,单纯使用投影算法不能有效地识别,需要进行改进。

2 基于车牌字符综合特征的字符分割算法

通过对字符特征的分析,文章提出一种新的基于字符分布特征的车牌字符分割算法。先使用预处理切除车牌上下边缘,去除边框的干扰。而后,根据字符投影的方法,以字符间距为依据将车牌分割。接着将获得的所有间距进行排序,取中间值作为车牌的标准宽度,并以取得的标准字符宽度建立如图的模板。最后将模板在车牌图像区域内平移,统计模板区域内字符点的个数N,取N最大时模板所分割的各区域作为字符分割的结果。

2.1 预处理

据理想状态下的车牌特征,车牌上边框和字符上部存在一条431mm×20.5mm的近似矩形背景区域,该区域被车牌固定螺丝大致分为三个隔离区域,从左至右这三个区域的宽度分别约为车牌整体宽度的1/4,1/2和1/4,这是划分车牌字符和车牌上边框的依据,可以依此将多余部分切除。本算法分别以车牌高度的三分之一处和三分之二处为起点,分别向上和向下搜索。鉴于上下边缘的检测步骤完全一致,只是方向不同,本文以上边缘切割为例进行说明,具体算法如下:

1)取得当前行的索引下标i,判断i是否大于零,若i>0则表明检测未结束,转(2);否则表明检测结束,车牌上边缘不需要切割,跳出循环。

2)统计当前行i的最长的连续背景像素点的宽度bg_num和最长的连续字符像素点char_num的宽度,求得连续背景像素点的宽度在该行所占的比例η=bg_num/ω和连续字符像素点在该行所占的比例φ=char_num/ω,其中ω为校正后车牌的宽度,转(3)。

3)若η>1/4或φ>1/2,则该行即为非车牌行,取车牌的上边界为第i+1行,将行下标小于i+1的所有行去除,而后跳出循环;否则该行仍属车牌部分,i=i-1,跳到当前行的上一行,转(1)继续对上一行判断。

经过预处理,车牌的上下边框已经基本切除,实验效果如图3。下一步的目标是将粘连的字符分开。

2.2 字符分割

第一步:字符点纵向投影统计。

从车牌图片左边缘开始,逐列向X轴方向投影,统计各列中像素点颜色为白色的字符像素点个数,将各列扫描结果依次存储到数组中count(n)中。设定各初始参数,初始列的下标i=1,单个字符区域的开始列下标S=0,结束列下标E=0,C(n),n∈N用于存储N个符合要求的字符候选区域,N根据各车牌实际情况而定。

1)判断下标i是否大于车牌宽度W,是则结束投影分割,否则转2)。

2)以单列出现2个字符点作为判断是否是字符部分的阈值。若第i列的字符点个数count(i)≤2,表明此处为背景,转(3);反之则认为此列属字符区域,转(4)。不直接设为阈值为0的目的是为了防止噪点的干扰。

3)若S=0,则表明此列不包含字符图像,则i=i+1进入下一列,而后转1);若S≠0,则表明此处为字符与背景边界,取E=i-1,则字符候选区域宽度Ci=E-S,转(5);

4)若S=0,则表明此列为字符图像开始部分,则S=i,而后转1);若S=0,则表明此处仍在字符区域内,取进入下一列i=i+1,重复(1);

5)根据样本字符的高宽比为2的规则,判断截取的车牌区域的高度H与3)获得的间距Wi的比值是否达到指定要求。若H/Wi>1.7时,则认定该区域为字符候选区域,将宽度Ci存入字符候选数组C(i),N=N+1;若H/Wi<1.7,则认为该处为噪点,抛弃,i=S+1,转(1)开始新一列的检测。

字符点纵向投影统计的效果如图4所示。

第二部分:计算标准字符宽度,并定制模板。

将C(n),n∈N进行排序,取得排序后的中间值作为标准字符宽度ω。根据车牌的高宽比为2,将字符间距转为使用w的表示形式。根据图的比例,除第二个字符与第三个字符的间距为79/45w,其他各字符间距均为57/45w,模板如图5所示。

第三部分:分割字符区域。

将定制好的模板在车牌图片区域内平移,确保模板左右边界不超出图像区域。在平移过程中,统计平移过程中各字符区域内字符点的个数Ni,并记录相应模板左边界i。平移后,将统计结果Ni进行排序,取最大的Ni时的i为模板左边界,使用模板进行分割。

整体分割实验结果如图6、图7,车牌字符左边界Li=8,字符间距为2个像素,所需时间为0.3246秒。

3 总结

实验表明,本算法能够很好的分割正常的字符,同时对有粘连的字符分割也比较准确,执行速度也比较快。本算法的关键之处在于两个问题:能否准确的获得车牌字符的宽度,以及在车牌宽度准确的前提下准确定制出车牌字符分割模板。通过对分割失败的原因分析,发现大多数分割失败的原因主要在于没有非常准确的获得车牌宽度。此外,车牌在矫正的过程中存在变形,也会影响车牌字符的分割。这些问题也将是对该算法进一步改进的主要突破口。

摘要:字符分割技术是车牌识别系统的关键技术之一。字符分割最主要的问题是字符粘连及车牌边框的影响。鉴于车牌字符具有布局规整,字符个数确定,字符大小一致、宽高存在规律等特征,文章提出一种将投影和字符间距相结合的基于字符综合特征的字符分割算法。实验证明该算法那对分割粘连字符具有较好效果。

关键词:车牌识别系统,字符分割,字符特征,字符粘连

参考文献

[1]GA36-2007.中华人民共和国机动车号牌[S].

[2]王枚,王国宏.基于伴生与互补颜色特征车牌特征的车牌字符分割新方法[J].山东大学学报:工学版,2007,37(1):1-4.

[3]马腾飞,郑永果,赵卫东.基于边缘检测与Hough变换的车牌字符分割算法[J].系统仿真学报,2006,18(1):391-403.

[4]迟晓君,孟庆春.基于投影特征值的车牌字符分割算法[J].北京:计算机应用,2006,23(7):256-257.

字符分割 篇2

字符串分割

代码如下:

str=“a|and|hello|||ab”

alist = str.split(‘|‘)

print alist

结果

代码如下:

str=“a hello{这里换成5个空格}world{这里换成3个空格}”

alist=str.split(‘ ‘)

print alist

统计英文单词的个数的python代码

代码如下:

# -*- coding: utf-8 -*-

import os,sys

info = os.getcwd #获取当前文件名称

fin = open(u‘c:/a.txt‘)

info = fin.read()

alist = info.split(‘ ‘) # 将文章按照空格划分开

fout = open(u‘c:/count.txt‘, ‘w‘)

fout.write(‘n‘.join(alist)) # 可以通过文本文件的行号同样看到效果

##fout.write(‘%s‘ % alist)

fout.close()

allen = len(alist) # 总的单词数

nulen = alist.count(‘‘) # 空格的数量

print “words‘ number is”,allen

print “null number is”,nulen

print “poor words number is”, allen-nulen # 实际的单词数目

利用反馈的车牌字符分割算法 篇3

随着信息技术和人工智能技术的发展, 交通管理系统的信息化、智能化是大势所趋, 智能交通系统已成为一个热点研究领域。车牌识别系统是智能交通系统的重要组成部分, 在现代交通管理中占有举足轻重的地位。车牌识别系统包括三个主要环节, 即车牌定位、字符分割和字符识别。目前的字符识别算法基本上是针对单一字符, 因此字符分割是一项十分关键的技术。

目前的车牌字符分割方法主要有: (1) 基于二值化图像垂直投影的方法[1,2]。这是最普遍采用的方法, 优点是速度快, 但对图像质量要求较高, 当牌照中出现字符粘连和断裂等情况时会发生分割错误; (2) 基于垂直投影和先验知识的方法[3,4,5], 该方法除了应用垂直投影外, 还考虑字符的宽度等先验知识, 改善了字符分割效果, 但当字符褪色严重或有干扰信息时会分割失败; (3) 基于模板匹配的字符分割方法[6,7], 该方法设计车牌字符串模板, 通过模板匹配确定字符位置, 该方法具有较好的字符分割效果, 但如何设计匹配模板是一个难点。

本文提出了一种新的车牌字符分割算法。该算法避免仅采用垂直投影分割字符, 而是将垂直投影和反馈相结合, 既考虑车牌的先验知识, 又考虑字符的纹理特点, 通过字符个数与字符宽度反馈以及字符识别反馈, 经由粗到精的过程分割车牌字符图像。

1 图像预处理

1.1 光照不均校正与对比度增强

光照度一般变化缓慢, 可采用低通滤波获得图像背景的照度估计, 再从原始图像中减去此照度来校正光照不均, 最后通过对比拉伸变换增强对比度。图1为原始车牌图像, 图2为经过对光照不均的校正与对比度增强后的图像。

1.2 倾斜校正

倾斜的车牌图像有三种倾斜模式:水平倾斜、垂直倾斜和水平垂直倾斜。本文采用文献[8]的方法, 即通过水平和垂直边缘检测结合旋转投影来求取车牌的水平和垂直倾斜角度, 对水平倾斜的车牌进行双线性插值旋转校正, 对垂直倾斜的车牌进行双线性插值错位偏移校正, 在倾斜校正的同时确定车牌的上下位置。图3为倾斜校正后的图像。

1.3 边缘增强与二值化

将车牌图像归一化为48像素高, 然后以宽度为w, 幅值为w/2 (w根据笔画宽度选取) 的阶梯信号与车牌图像卷积进行边缘增强, 然后二值化。边缘增强图像和二值化图像分别如图4和图5所示。

2 基于垂直投影的字符粗分割

垂直投影法是字符分割的常用方法, 其基本原理是, 设车牌图像二值化后的背景点为黑像素0, 字符点为白像素1, 则在垂直方向统计白像素的个数, 获得白像素的垂直投影分布。由于字符区域白像素较多, 而字符间空隙区域白像素较少, 因此可将白像素个数的波谷作为字符间的分界处。

我们将上述垂直投影法进行了改进。首先对二值化车牌图像进行垂直投影, 然后选取阈值T, 若投影值小于T, 则将该投影值设为0, 垂直投影结果如图6所示。根据垂直投影获得的粗分割图像如图7所示。由图可见, 字母“C”被分割为两个字符, 而数字“7”被分割为三个字符。

3 基于两级反馈的字符精分割

3.1 基于字符个数与字符宽度反馈的字符分割

车牌图像的特点之一是具有7个字符, 字符的字段宽度固定。因此, 可以计算粗分割后字段的个数和每个字段的宽度, 并给它们设定合适的阈值, 然后通过反馈进行字符分割。字段个数阈值为7, 字段宽度阈值范围为[D1, D2]。如果字段的个数大于7, 将字段宽度最小的字段与其相邻两个字段中宽度小的字段合并, 否则将字段宽度最大的字段进行分裂, 直到字段的个数等于7;如果字段的宽度大于D2, 则对该字段进行分裂操作, 如果字段的宽度小于D1, 则进行合并操作。图8为分割结果。

3.2 基于识别反馈的字符分割

3.2.1 基于离散余弦变换的字符纹理特征

车牌字符具有明显的纹理特征, 该纹理特征可通过字符的垂直投影来描述。

当求车牌字符的垂直投影时, 可得到坐标对 (0, y0) , (1, y1) , …, (N-1, yN-1) , 其中N为字符区域宽度。这样, 垂直投影就可以表示为一个序列f (n) ={yn}, n=0, 1, …, N-1。求取f (n) 的离散余弦变换为:

其中, F (u) 为f (n) 的频域描绘子。由于高频系数决定细节部分, 低频系数决定总体形状, 所以可使用前m个系数 (即低频系数) 重构垂直投影图得到f^ (n) , 这里, 取m=8。

根据重构的垂直投影图可获得如下统计量:

(1) 均值μ

(2) 标准偏差σ

(3) 三阶矩3

结合重构后垂直投影的统计量, 将字符的纹理特征向量定义为:

3.2.2 基于识别反馈的字符分割

将标准车牌字符模板图像二值化和归一化, 尺寸为48×24, 按式 (7) 计算模板字符的纹理特征向量MTV和待识别字符的纹理特征向量BTV, 则与模板匹配的置信度R定义如下:

其中, m=27是纹理特征向量的维数。

按如下步骤进行字符分割:

(1) 设3.1中分割的字符子图像的宽度为N, 若N<24, 则将其和相邻子图像合并。

(2) 在子图像内移动48×24的滑动窗口, 计算窗口内图像的纹理特征向量BTV, 与字符模板序列相匹配, 计算字符匹配置信度R1, R2, …, Rd, 其中d=N-23。

(3) 设Rmax=max{Ri, i=1, 2, …, d}, 若Rmax大于给定阈值, 则匹配成功, 其对应的窗口区域为字符, 否则, 将此子图像和相邻子图像合并, 转 (2) 。

最后的字符精分割结果如图9所示。

4 实验结果

本文对154幅有严重影响的车牌图像进行字符分割, 正确分割率为98.7%, 在具有PⅣ2.66GHz CPU, 512MB内存的计算机上运行由MATLAB编写的本算法程序, 平均用时8.530s, 实际应用时采用C语言编程能够满足实时性要求。在相同的实验环境下应用文献[4]中的算法, 正确分割率为97.4%, 平均用时8.850s。图10为本文算法与文献[4]中算法的部分实验对比结果。从实验结果看, 文献[4]算法在有半圆的出租车标志牌干扰信息时分割失败, 而本文算法能正确分割。而且, 对光照不均、对比度较小、倾斜、污迹严重、褪色、字符粘连和断裂等质量严重退化的车牌图像, 本文算法也具有更好的分割效果。

5 结论

本文提出的算法具有很好的车牌字符分割性能。采取的图像预处理技术较好地解决了车牌图像光照不均、对比度较小、倾斜等问题;所采取的由粗到精, 两级反馈的方法能正确地分割污迹、褪色、字符粘连和断裂等严重影响的车牌字符图像。特别是在基于识别反馈的字符分割中, 通过对字符的垂直投影进行离散余弦变换, 应用其低频系数重构垂直投影, 可抑制噪声, 在此基础上构建的纹理特征更能反映车牌的字符纹理, 提高了字符分割的准确率。

参考文献

[1]宋建才.汽车牌照识别技术研究[J].工业控制计算机, 2004, 17 (4) :44-45.

[2]Zhang Jian, Fan Xiaoping, Huang Cailun.Research On characters seg-mentation and characters recogition in intelligent license plate recogi-tion system[C]//Proceedings of the 25th Chinese Control Conference, Harbin, 2006:1753-1755.

[3]迟晓君, 孟庆春.基于投影特征值的车牌字符分割算法[J].计算机应用研究, 2006, 7 (2) :256-257.

[4]Jia Xiaodan, Wang Xinnian, Li Wenju, et al.A novel algorithm for char-acter segmentation of degraded license plate based on prior knowledge[C]//Proceedings of the IEEE International Conference on Automa-tion and Logistics, Jinan, 2007:249-253.

[5]朱俊梅, 陈少平.基于改进的投影方法的车牌图像字符分割[J].中南民族大学学报:自然科学版, 2007, 26 (4) :58-61.

[6]王兴玲.最大类间方差车牌字符分割的模板匹配算法[J].计算机工程, 2006, 32 (19) :193-195.

[7]邓红耀, 管庶安, 宋秀丽.投影和模板匹配相结合分割车牌字符[J].计算机工程与设计, 2008, 29 (6) :1568-1570.

一种新的粘连字符图像分割方法 篇4

参考文献[1]中提出了基于字符投影的粘连分割方法,主要包括字符垂直投影、字符波形投影处理,但该方法分割准确率不高,且分割路径只能垂直进行,会造成字符损伤,影响后期识别。参考文献[2]采用了轮廓分裂与区域合并相结合的算法,能够分割粘连字符,但过程复杂且准确率不高,抗干扰性一般。参考文献[3]提出了一种基于骨架形态分析的粘连分割算法,但该方法利用阈值判定分割点位置和路径,降低了准确率。参考文献[4]采用滴水算法,模仿水滴从高处向低处滴落的过程实行对粘连字符的分割,即水滴从字符串顶部在重力的作用下沿字符轮廓向下滴落或水平滚动,最终水滴所经过的轨迹就构成了字符的分割路径。但当水滴陷在轮廓的凹处时,将渗漏到字符笔划中,会穿透笔划后继续滴落,易导致字符笔划断裂,因此也不能从根本上解决粘连字符的分割问题。参考文献[5]采用了最短路径算法,但其实行单向搜索路径,且分割点的确定不准确,因此分割准确率不高。本文在参考文献[5]的基础上,设计了一种基于双向最短路径的粘连字符图像分割方法,以期解决上述分割方法造成的字符损伤问题,并提高分割正确率和抗干扰能力。

1 粘连字符图像分割算法

摄像头采集到的图像为彩色图像,直接处理复杂且效果不好,因此需要对图像进行滤波、直方图均衡化、颜色聚类得到二值图像。经过预处理后的图像,由于字符本身的因素以及摄像头自身分辨率不高等原因,会造成图像中字符的粘连,因此通过提取连通分量,再采用二维检测器[6]方法将连通分量分类。下面简要介绍二维检测器的基本思想。

通过连通分量的宽高比和标准笔划数[6]2个特征来确定单字符在二维空间的分布,从而得到1条直线用以正确判别单字符和粘连字符。如果这2个特征构成的点落在直线的下方,则认为连通域包含1个字符;如果由这2个特征构成的点落在直线的上方,则认为连通域包含多个字符。

经过上述方法处理后,字符被分为两类:一类为单字符,另一类为粘连字符。前者直接送入分类识别器,后者需进行再分割。在对粘连字符图像进行分割后续处理时,为避免出现参考文献[1]~[4]的情况,以双向最短路径为基本思路,设计了一种新的粘连字符图像分割方法。首先分析粘连字符图像的上下轮廓,确定候选分割点,再以分割点开始,遵循最小代价原则搜索分割路径。该方法的具体流程如图1所示。

预处理后的粘连字符图像总是在其上下轮廓间的最短距离处发生粘连[7],如图2(a)所示,通过确定粘连字符的上下轮廓,并求得上下轮廓的极值点,可以确定候选分割点。参考文献[8]在解决图书索引书号粘连字符的分割问题时,为确定字符的宽度,给出了字符串上、下轮廓的定义。

设待处理的二值图像为b(i,j)∈[0,1],其中,0为背景,1为前景,i=1,2,…,m,j=1,2,…,n,则字符串上轮廓可由b(i,j)中自上而下扫描到每列的第1个黑色像素点;相反可以给出字符串下轮廓的定义。这样它们可以用一维向量top(j)和bottom(j)表达,其生成方法可形式化描述如下:

此处注意,当某列无字符时,表明无黑色像素点,则令top(j)=1,而令bottom(j)=m。据此,可检测到粘连字符图2(a)的上、下轮廓如图2(b)所示。

接下来,分别求取top(j)=1和bottom(j)=m的局部极大、极小值点,从而求出上、下轮廓的极大、极小点,即可视为字符粘连位置。以上面确定的极值点作为起始分割位置,分别以向上或向下双向最小代价分析的策略来寻求最短分割路径。定义分割移动方向的代价函数是很关键的。

从(x,y)点出发,以向下遍历为例,按照滴水算法[4]和最短路径[5]的思想,给出规定的3种可分割方向:垂直方向和左、右对角线方向。参考文献[9]定义代价函数fee(i,j)如下:

向上遍历代价函数与此类似。搜索1条完整路径的处理流程如图3所示。

2 实验结果和分析

选择预处理后的二值字符图像200幅进行了仿真实验,共包含字符串525个,粘连字符125个。分割实验的部分效果如图4所示。

对参考文献[3]提出的骨架形态分析算法、参考文献[4]提出的滴水算法的分割正确率进行了比较,实验数据如表1所示。可以看出,骨架形态分析算法和滴水算法在分割粘连字符图像时,正确分割率要低于本文提出的方法。

在数字识别系统中,正确分割出单个字符是字符识别的前提和基础,在同等条件下,分割精度越高识别率就越高。字符粘连、有部分字符干扰是字符分割最棘手的问题,本文以双向最短路径方法设计的粘连字符图像分割策略成功地解决了此问题,与现有方法相比,提高了正确分割率,获得了较好的字符分割效果。

参考文献

[1]邹荣金,蔡士杰.字符粘连及字线相交的分割与识别方法[J].软件学报,1999,10(3):241-247.

[2]曹迪铭,宣国荣.牌照字符分割中的区域分裂与合并[J].计算机工程,2000,26(10):18-24.

[3]马瑞.一种用于手写数字分割的滴水算法的改进[J].小型微型计算机系统,2007,11(11):2110-2112.

[4]卢达,谢铭培.一种基于骨架法形态分析的粘连字符图像分切方法[J].中文信息学报,1998,2(13):40-43.

[5]WANG J,JEAN J.Segmentation of merged characters by neural networks and shortest path[J].Pattern Recognition,1994,27(5):649-658.

[6]张闯,吴铭.非限制自由手写粘连数字串数字个数的判断[J].北京邮电大学学报,2004,6(27):63-64.

[7]DIMAURO G,IMPEDOVO S,PIRLO A,et al.Automatic bank check processing:A new engineered system[J].International Journal of Pattern Recognition and Artificial Intelligence,1997,11(4):467-504.

[8]胡小锋,陈超,叶庆泰.图书索书号粘连字符的切分[J].上海交通大学学报,2005,38(4):553-556.

字符分割 篇5

关键词:车牌识别系统,二值化,字符分割,先验知识,垂直投影

1 引言

车牌字符分割是车牌识别系统(Vehicle License Plate Recognition System,简称VLPRS)的三大关键技术之一。车牌定位后得到的是一个包含车牌字符的近似水平条形区域,为了进行字符识别,需要将车牌区域中的单个字符分割出来。字符分割的正确与否,直接影响识别的正确性。通常车牌图像中存在较大的干扰、噪声,可能产生字符粘连或字符断裂、字符的笔画可能变粗、字符的轮廓模糊不清等现象。这些都给正确的分割带来了困难。本文在车牌区域预处理的基础上提出了一种基于先验知识的垂直投影字符分割方法。

2 车牌字符分割

提取车牌区域后,得到的可能是从原始图像中分割出的彩色车牌区域图像。由于其可能存在着边框、铆钉、噪声干扰等,为了能迅速准确的进行单字符分割与提取,必须对定位后的彩色车牌区域图像进行预处理。预处理主要包括对其大小归一化、灰度化、去噪、二值化、去除边框和铆钉等。

2.1 车牌区域图像的预处理

2.1.1 车牌区域大小归一化

车牌定位后得到的彩色车牌区域图像,由于拍摄时的距离、角度等因素的影响,它们大小不一,不适于快速、正确的进行单字符的分割。这就需要根据车牌的特征对定位后的车牌区域进行归一化处理,即把车牌区域的尺寸规范到一个统一尺寸上再进行单字符分割。常用的大小归一化的方法是将车牌区域外边框按比例线形放大或缩小成为规定大小的区域。

2.1.2 OTSU二值化

彩色图像包含大量信息,给图像存储及处理速度带来很大不便。为了减少图像信息,提高处理速度,以及方便字符分割,需要对定位后的车牌区域进行二值化。二值化图像画面内只包含黑色和白色两种颜色,容易将图像中的目标和背景分离出来。图像二值化的关键在于阀值T的选取。根据阀值T来区分图像中的对象和背景。

在各种二值化方法中,全局阀值方法对输入图像量化噪声或不均匀光照等情况抵抗能力差,在分割时会出现断裂和大面积粘连现象,应用受到极大限制;局部阀值法[1]也存在缺点和问题,分割时会出现非字符区域的干扰和粘连现象。当两个相邻的块的阈值相差太大,二值化后的车牌字符就可能造成变形,不能保证字符笔划连通性,降低了识别率。而且,该方法实现速度慢、容易出现伪影现象。

本文采用全局动态阀值化方法进行二值化。该方法是从整个灰度图像的像素分布出发,寻求一个最佳的阀值。其中经典算法是OTSU算法——类间最大方差算法[2]。该方法的主要思想是从图像的灰度直方图中把灰度的集合用阀值t分为两类,然后根据两个类别的平均值方差——类间方差和各类的方差——类内方差的比为最大来确定阀值t。该阀值即为二值化图像的最佳阀值。这种方法不论图像的直方图有无明显的双峰,都能得到较为满意的效果,因此这种方法是阀值自动选取的较优方法。

Otsu算法有以下优点:该算法实现较为简单;它是基于图像的整体特性而非局部特性的;它可以推广到多阀值的分割方法中去;该算法适应性较强。

2.1.3 其他基于车牌区域图像的预处理

为了更好地对车牌字符进行分割与识别,还需要对车牌区域图像进行诸如灰度化、倾斜校正、去除边框、去除铆钉等预处理,限于篇幅,此处不再详细叙述。

2.2 车牌单字符分割

经过预处理后的车牌是大小统一的包含所有车牌字符的二值图像。由于识别是逐个字符进行的,这就需要将二值图像进行单字符分割。字符分割的方法很多,如小区域投影方法结合四连通算法的字符分割算法、利用Hough变换和先验知识的车牌字符分割算法等等。但这些算法实现复杂,实时性不高。常用的字符分割方法有模板匹配法、水平投影法、聚类分析法等。下面就这些方法做个简介,并在此基础上提出自己的字符分割方法——基于先验知识的垂直投影字符分割算法。

2.2.1 常用车牌字符分割算法简介

1)模板匹配法[3]:

该方法先在二值图像上计算竖直积分投影的平滑曲线,搜索平滑曲线的局部最小值得到一个波谷位置序列;再将相邻两个波谷分别作为左右边界提取出一组矩形区域;最后,根据一定的规则对矩形区域进行删除、分裂、合并及调整大小。从而实现对车牌区域的单字符分割。该方法执行速度较快,能较好地解决汉字不连通问题,而且能克服分割过程中复杂背景的干扰,对车牌尺寸的变化及磨损也有很强的适应性。但该方法程序设计复杂,对车牌左右边框分割不准,有待改进。

2)水平投影法[4]:

该方法先自下而上再自上而下对车牌区域图像进行逐行扫描,找到并分别记录下扫描到的第1个白色像素点位置,确定图像大致的高度范围;在此高度范围之内再自左向右逐行扫描,遇到第1个白色像素时认为是字符分割的起始位置,然后继续扫描,直至遇到没有白色像素的列,则认为是这个字符分割结束。重复上述过程,直至图像的最右端,得到每个字符比较精确的宽度范围;在已知的每个字符比较精确的宽度范围内,再分别进行自上而下和自下而上的逐行扫描来确定每个字符精确的高度范围。此方法主要是针对在车牌定位、图像预处理后比较规则的车牌图像比较常用。优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,而且程序执行时间短。但是它对字符的粘连问题,解决得不很理想,且在汉字的不连通问题上也存在不足[6]。

3)聚类分析法[5]:

该方法是按照属于同一个字符的像素构成一个连通域的原则,再结合先验知识:字符的高度、间距的固定比例关系等,来逐个分割车牌区域中的字符的。该方法分割精确,很好的解决了汉字不连通的问题,对噪声干扰及车牌磨损问题也能较好处理。但其程序设计复杂,执行时间长,较投影分割速度慢。

2.2.2 车牌先验知识

标准车牌是由指定国家机关按规定制作的,其特征固定,先验知识明确。充分利用先验知识有助于单一字符精确切分。

除军车、警车、教练车、领使馆车外,标准车牌格式是X1X2·X3X4X5X6X7,共有七个字符和一个点符号。其中第一个字符X1是各省、市、军区和自治区的简称,一般是汉字;第二个字符X2是大写的英文字母;接着是一个点·;第三、四位字符X3和X4可能是大写英文字母,也可能是阿拉伯数字;目前,第五到七位X6和X7均为阿拉伯数字。

另外,标准车牌长度为450mm,字符总长度为409mm,其中单个字符宽度为45mm,高度为90mm,第二和第三字符间间距为34mm,其中中间小圆点宽度为1Omm,与第二和第三字符间间距均为12mm,其余字符间间距为12mm;字符“1”的宽度约为13.5mm,与其它字符间间距约为22.5mm,连续两个字符“1”间间距约为38.5mm,第三字符为字符“1”时,与第二字符间间距约为44.5mm。

2.2.3 基于先验知识的垂直投影字符分割算法

在预处理后的车牌区域上,充分结合车牌的先验知识,再利用垂直投影算法对车牌区域进行单字符分割,可以获得较好的分割效果。其算法可按下面步骤实现:

1)利用Hough变换求取字符水平分割线;

2)对车牌区域进行字符垂直投影,寻找字符垂直投影的谷底,将谷底位置作为候选垂直分割线的位置;

3)根据水平分割线和候选垂直分割线提供的位置信息,并利用车牌尺寸的先验知识,估算整个车牌的宽度和每个字符的宽度;

4)估算出车牌尺寸以后,利用车牌尺寸的先验知识,再估算出前两个字符和后面5个字符之间的大间隔的位置,然后根据垂直投影以及方差信息,在估算出的位置附近搜索,确定大间隔的左右边界;

5)根据4)中确定的大间隔的位置,并利用先验知识估算出垂直分割线的位置,然后再在估算出的位置附近,根据垂直投影以及方差信息,从候选垂直分割线中确定最终垂直分割线。确定垂直分割线时,需要通过强化先验知识的约束来准确定位。

从大量的实验结果看,此方法能得到较好的分割效果,可以满足系统对字符分割的需求。下面是对车牌单字符分割的过程与结果图示。

3 总结

通过与几种常用的字符分割方法的比较以及实验的验证,本文提出的基于先验知识的垂直投影字符分割方法,在对定位出的车牌区域进行归一化、二值化等一系列处理后,能迅速、准确地对车牌区域字符进行单字符分割。这为后续的字符识别打下了良好的基础,能够满足车牌识别系统的实时性、准确率的要求。

参考文献

[1]吴冰,秦志远.自动确定图像二值化最佳阀值的新方法[J].测绘学院学报,2001,18(4):1-2.

[2]吴传孙,邹德扬,周定康.二值化算法在车牌识别中的应用[J].计算机与现代化,2003.6:13-16.

[3]范玮琦,穆长江.一种基于汉字结构特征的车牌照字符分割方法[J].仪器仪表学报,2003,24(4):472-474.

[4]胡小锋,赵辉.Visual C++/MATLAB图像处理与识别[M].北京:人民邮电出版社,2004.

[5]李文举,梁德群.质量退化的车牌字符分割方法[J].计算机辅助设计与图形学学报,2004,6(5):697-700.

[6]刘明军,谢宏霖,孙雪松,等.车牌字符分割算法的比较研究[J].济南大学学报:自然科学版,2006,30(3):246-248.

字符分割 篇6

随着智能交通系统的发展,车牌识别技术已经广泛应用于治安卡口、收费站和电子警察等,取得了令人瞩目的应用效果。常见的车牌识别方法流程分为车牌定位、车牌字符分割和车牌字符识别三个步骤。对于图像清晰的车牌,字符分割已经得到了很好的解决,很多文献中提及的分割准确率都超过了97%[1,2,3]。

然而在实际应用中,由于各种原因,采集到的车辆车牌图像质量往往并不尽如人意,并导致系统准确率大幅下降[4]。例如,在全天候卡口系统中,由于光照差异比较大,车尾的车牌框非常明显,会导致图像中字符粘连[4];在城郊区域,大型货车比较多,其车辆车牌常有污迹甚至轻微损坏;对于移动稽查,车牌倾斜和车牌字迹模糊的情况常有发生[5]。有资料统计表明,在正常光照条件下,由于车牌自身原因产生的低图像质量情况占所有车牌的5%左右,这些都对车牌识别系统的准确度造成较大影响。因此,有效地对低图像质量的车牌进行字符分割是一个亟待解决的问题。

目前主流的车牌字符分割方法有三种:

(1)基于投影的方法,具有算法简单、速度快的特点[1],通常会附加一些先验规则或滤波分析算法,以期达到较高的识别准确率,然而对于一些倾斜、污损、定位不够精确等情况的低图像质量车牌,将难以进行字符分割[5]。

(2)连通区域分析(CCA)方法[2,6],此方法利用字符单连通区域的特征进行分析,对低图像质量的车牌适应性较好,然而也会面临字符粘连、断裂等问题,从而导致识别率下降。

(3)机器学习方法[4,9],例如将隐马尔科夫模型(HMM)与投影或者连通区域相结合的方法,该方法将车牌字符分割转化为隐马尔科夫链的前向识别过程,能够对清晰车牌字符进行良好分割,然而,对于具有低图像质量特征的车牌同样无能为力。

另外,针对低图像质量车牌的字符分割问题,文献[5]提出了一种自适应形态学的方法,着重解决了由于字符粘连和断裂导致的低质量问题。

本文针对低图像质量车牌的字符分割问题,提出一种两级字符分割算法,综合利用已有文献中提出算法的优点,并结合字符分类器、字符间隙规律等信息,以期提高整体车牌字符分割的准确率。

1基于两级字符分割算法的框架

如图1所示,本文提出的两级字符分割算法主要针对具有低图像质量的车辆牌照情况。算法思想为:首先对定位好的车牌图像进行预处理和识别反馈,以获得确定字符的位置。然后利用确定字符和车牌先验知识推测其他字符的位置。其中预处理过程中将考虑常见的低图像质量情况,并给出相应的解决方法;而基于上文所述的先获得确定字符、后推断其他字符的两级分割方法能有效解决字符粘连、断裂、残损问题,降低由于车牌污迹、车牌边框反光等原因对字符分割结果的影响。

两级字符分割算法的框架如图2所示,算法的输入为已经经过定位的车牌候选区域,然后经过字符预分割和字符精细分割两个部分,最后输出为一组字符的局部图像。

在字符预分割部分,首先对经过定位的车牌图像进行归一化和二值化等预处理,然后结合字符分类器,对车牌字符进行连通区域分析,最后对车牌图像进行校正。

在精细字符分割部分,首先对校正后的车牌图像进行连通分析,更新字符保留区域,然后结合先验知识与字符间隙规律对车牌字符进行精细分割,还原剩余字符位置。

2字符预分割

2.1车牌图像预处理

为了能够更好地区分出前景(车牌文字)和背景(车牌底色),首先对定位出的车牌候选区域进行预处理过程,包括归一化与二值化两个步骤。

考虑到经过定位的车牌图像在尺寸上的差异,需要进行归一化,本文算法将车牌区域等比例拉伸至固定高度以完成归一化。

为了快速排除车牌中的杂质部分,突出字符区域,下一步进行二值化处理。针对全天候条件下车辆车牌中出现的光照不均、曝光不足或过度等问题,本文采用niblack局部二值化方法。该算法以固定的滑动窗口对图像进行扫描,在每个像素点依照式(1)计算出阈值T,若图像像素(i,j)的灰度值大于T,则二值图上对应的像素点置为黑色,否则置为白色。

其中,T(i,j)为像素(i,j)处的阈值,m(i,j)、σ(i,j)分别为(i,j)周围15×15邻域内像素灰度的均值和标准差,k为权重系数。如图3所示,本文采用的局部阈值计算方法能有效克服光照对图像质量造成的影响。

2.2连通区域分析(CCA)

考虑到车牌中字符主要是字母和数字,而字母、数字都是单连通区域,因此采用二值图连通区域分析的方法能有效提取字符块。由于汉字往往会出现多连通区域的情况,这里先将其作为杂质排除,在后续操作中再进行恢复。另外,对于低图像质量车牌,经常会出现个别字符粘连、断裂的情况,因此本步骤只需要得到1-2个确定字符,并不提取全部字符。

通过8连通方法在二值图上进行处理,获得连通区域集合。然后利用图像特征建立一系列过滤器对连通区域进行分析,只有通过全部过滤的图像区域,才能保留下来,成为确定的字符区域。其中的图像特征过滤器包括:

(1)区域宽、高、宽高比的范围过滤字符高度、宽度范围参数参考整体车牌却与尺寸设定,宽高比阈值参考国家车辆车牌标准[9]。对于数字”1”,由于车牌附近有很多类似1的局部图像,在此步骤中不做考虑,作为杂质排除。

(2)方向性过滤利用最小二阶矩公式计算出区域的方向特征[1],方向大于给定角度时判断为字符。式(2)中,c、r分别为横、纵坐标,Ii(r,c)代表在二值图像中,对于第i个区域,在(r,c)处的值,取0或1。

(3)字符排列特征过滤与普通图像中的文本一样,车牌图像也具有类似的排列特征,即所有字符具有相似的宽度、高度,其中心坐标近似处于同一条直线。其中宽度与高度部分,可利用颜色直方图进行统计,删除显著低于整体灰度值的区域。中心坐标部分采用霍夫变换获得近似直线,排除字符中心点距离直线较远的区域。

(4)字符分类器实际数据测试发现,车牌图像经过前述三个过滤器后,车辆车牌两边的进气口、标志物等也可能通过过滤器,因此需要将该区域对应的灰度图像进行概率字符分类识别,若识别出最佳字符的概率依然小于固定阈值,则排除。字符分类器采用SVM构建。

值得注意的是,为了筛选出高可信度的字符区域,此处使用了多种过滤器,虽然包含了较多的参数,但其实对参数的设定可以相对宽泛,算法对参数的敏感度并不高。另外,国内车辆车牌具有多种颜色格式,按颜色极性可统一分为两种,即深底浅字(例如蓝底色车牌)和浅底深字(例如黄底色车牌),针对这两种情况分别进行二值化和连通区域分析,根据保留字符的数量和连通区域中心的颜色值确定车牌底色。

图4为连通区域分析效果图。

2.3车牌图像校正

考虑到低图像质量车牌中,倾斜、边框、铆钉与字符相粘连的情况时有发生,导致连通区域分析时有些字符区域无法检测。在获得了确定的字符位置之后,需要根据确定字符的标准宽、标准高、中心坐标重新校正车牌,以解决上述问题。

车牌图像校正在二值图上进行。首先对确定字符的中心坐标进行最小二乘法直线拟合,计算直线倾角,进行倾斜校正。然后根据保留区域字符的平均高度对其上下边进行切分,以减少铆钉和上下边框对字符区域的影响。倾斜校正和边框切分的效果如图5所示。

3基于间隙计算的字符分割

首先对校正后的车牌再次进行连通区域分析(见2.2节),由于减少了倾斜,边框,铆钉对图像的影响,此次连通分析过后会得到更多的保留区域,再进行进一步处理。

国内的常见车牌(蓝底色车牌,单行黄底色车牌)具有固定格式,前两位汉字和字母的后面会有一个较大间隙,再后面的字母数字为等间隙排列。因此,可以通过前述步骤输出的保留区域,计算相邻区域的间隔值,利用车牌格式先验知识反推相邻区域间存在的间隙和字符数目(x+y-1),进而还原被过滤的字符。相邻区域的间隔值具体求解可表示为下面的优化问题:

其中wg为给定两个保留区域的间隔值,stdw为利用保留区域计算出的标准字符宽度,x为大间隙数目,y为小间隙数目,s1、s2分别对应大小间隙与字符宽度的标准比值[9]。式(3)表征为寻找一组(x,y),使wg与(x,y)所对应的标准间隙值的误差最小。

利用此方法对车牌区域进行精确分割,其实现过程如算法1所示,分割过程中用到的变量与函数描述如定义1所示。其核心实现步骤为:

(1)获取图像保留区域(对应1);

(2)恢复内部被过滤字符位置(对应3~8);

(3)恢复外部被过滤字符位置(对应10);

(4)恢复汉字位置(对应11);

(5)输出分割结果(对应12)。

算法1字符分割过程

定义1算法1中使用的变量和函数

4实验结果与讨论

为验证算法的有效性,本文采用了两个数据集(degraded,normal)进行测试,两个数据集均由实际路口采集得到。其中degraded为经过标注的126张低图像质量车牌,normal为3215张不进行筛选的全天候车牌数据。图6是在degraded上实验结果的部分步骤展示,可以看出对各种不同类型的低质量车牌,本算法均能将字符准确地分割出来。

分别使用本文算法和本人实现的文献[2]提出的投影与连通区域分析相结合的算法,在两个数据集上进行实验,如表1所示。实验结果表明,本文算法对低图像质量车牌的分割准确率有明显提高,由此使整体的车牌分割正确率上升了3.7%。

(degraded为126张低图像质量车牌,normal为3215张实际路口车牌)

在degraded中,本文算法有5张图片未能准确分割,其原因有以下两个方面:

(1)车牌上下边框影响较大,在二值化后,边框和所有文字粘连在一起,导致无法分析出有效的连通区域,后续可以考虑通过投影的方式去除上下边框;

(2)车牌文字断裂严重,可以采用文献[5]提出的增加断裂合并算法解决。

另外对于degraded集中的低质量车牌图像,其范围,由于各种原因,该车牌图像的清晰程度明显低于正常车牌,但人眼依然可以准确分辨出车牌号码中的大部分字符。而对于严重低质量的情形,例如车牌严重形变、文字大面积遮挡或刮痕等,会造成文字无法分辨,即使分割后也难以识别,因此不在本文的考虑范围内。

5结语

本文提出一种针对低图像质量车辆牌照的两级字符分割算法,通过特定的预处理方法以及确定-推断两级的分割流程,有效降低了低图像质量车牌中不利于字符分割的因素(光照不均、倾斜、污损和边框粘连等)影响。通过在两个数据集上进行对比试验,验证了本算法能较大提升整体车牌字符分割的准确率,具有很强的实用性。

摘要:提出一种应用于车牌识别系统中车牌字符分割的方法,能够对由光照不均匀,车牌表面污损等原因造成的低图像质量的车牌进行有效字符分割。首先通过连通区域分析和车牌校正对车牌进行预处理,然后利用车牌固有的先验知识与间隙分析方法,实现整个车牌字符的精确分割,克服污损、边框和倾斜等干扰因素。通过在两组数据集上进行的实验结果表明,该算法具有很强的实用性与鲁棒性。

关键词:低质量车牌,字符分割,连通区域分析,字符识别

参考文献

[1]Anagnostopoulos C,Anagnostopoulos I,Psoroulas I D,et al.License plate recognition from still images and video sequences:A survey[J].IEEE Transactions on Intelligent Transportation System,2008,9(3):377-391.

[2]Anagnostopoulos C,Anagnostopoulos I,Kayafas E,et al.A license plate recognition system for intelligent transportation system applications[J].IEEE Trans.Intell.Transp.Syst,2006,7(3):377-392.

[3]Jiao J B,Ye Q X,Huang Q M.A configurable method for multi-style li-cense plate recognition[J].Pattern Recognition,2009,42:258-269.

[4]顾弘,赵光宙,齐冬莲,等.车牌识别中先验知识的嵌入及字符分割方法[J].中国图象图形学报A,2010,15(5):749-756.

[5]Nomura S,Yamanaka K,Katai O,et al.A novel adaptive morphological approach for degraded character image segmentation[J].Pattern Rec-ognition,2005,38(11):1961-1975.

[6]Chang S L,Chen L S,Chung Y C,et al.Automatic license plate recog-nition[J].IEEE Trans.Intell.Transp.Syst,2004,5(1):42-53.

[7]Jia Xiaodan,Wang Xinnian,Li Wenju,et al.A Novel Algorithm for Character Segmentation on Degraded License Plate Based on Prior Knowledge[C]//Proceedings of the IEEE International Conference on Automation and Logistics.Jinan,2007:249-253.

[8]Arth C Limberger,Bischof F H.Real-Time License Plate Recognition on an Embedded DSP-Platform[C].CVPR2007:614-623.

字符分割 篇7

关键词:车牌定位分割,连通区域分析,轴对齐包围盒,倾斜矫正

车牌识别系统中,车牌定位和字符分割的精确程度会直接影响到最终的检测结果。目前对车牌定位和字符分割的研究都是独立开来的。车牌定位目前常用的方法主要包括基于投影分割[1]、纹理检测、颜色特征检测[2]混合特征检测[3]以及基于神经网络[4]、小波分析[5]等几种算法。而字符分割有基于先验知识[6]、模板匹配[7]、连通域分析[8]以及机器视觉[9]等方法。可以发现,车牌定位与字符分割的算法关联性较小,这会使得整个车牌识别流程的时间变长,耗费更多的运算资源。本文提出一种基于字符包围盒特征参数的车牌字符定位分割算法,将车牌定位和字符分割的过程合二为一。该方法采用二维高斯-拉普拉斯算子对车牌图像进行平滑处理和边缘检测,对生成的二值图像进行连通区域分析( Connect-ed Component Analysis,CCA) 来标定相连区域,之后使用二维轴对齐包围盒( Aixs Aligned Bounding Box,AABB) 来表征每个连通域,根据车牌字符的实际分布规律来筛选出车牌字符对应的包围盒,并使用包围盒中心点矫正车牌图像并分割车牌字符。

1 中国车牌的主要规格

中国常见的机动车车牌尺寸规格如图1 所示。由中国国家机动车车牌行业标准GA36—2007[10]可知,这种类型的车牌存在以下特征:

1) 车牌的几何特征为矩形,长度与高度有固定的比值。

2) 车牌内容包含7 个字符,这些字符在矩形框中基本水平均匀排列,拥有比较丰富的边缘信息。同时,这些字符具有相同的高度宽度比值且相互之间有一定的间隔。

3) 车牌的底色和字符颜色存在较强的对比度。

本文根据我国主流车牌的以上规格特性,设计字符特性参数,在此基础上设计车牌识别算法。

2 预处理

由CCD摄像机所采集到的车辆图像不可避免的会受到噪声的影响,因噪声而产生的误差会累计传递从而会严重影响到后续的边缘检测、特征提取和识别过程。CCD摄像机的噪声通常被建模成独立于信号均匀分布的零均值高斯白噪声[11]。高斯滤波器对这类噪声具有良好的滤除效果。与此同时,本文的车牌字符提取方法要求检测到的边缘能良好的反应实际的字符轮廓,既不能增加太多的无关细节,又需要在各个方向上保持边缘的完整性。边缘检测常用的Canny算子会给图像带来额外的无关细节[12],Sobel算子不具备各向同性的性质,所得边缘有一定程度的断开,而拉普拉斯算子则能满足这些要求,但其对离散噪声点比较敏感[13],需要现对图像进行平滑滤波处理。基于以上分析,本文采用二维高斯-拉普拉斯算子对车辆图像进行边缘检测。

对图像进行高斯滤波一般采用二维离散高斯函数

式中: G( x,y) 为经过高斯滤波之后图像; σ 表示高斯滤波器的宽度; k为规范化系数。

采用拉普拉斯算子对高斯滤波后的图像进行边缘检测可表示为

对于离散的数字图像来说,通常可以使用一个近似于高斯拉普拉斯算子的离散高斯拉普拉斯模板对其进行边缘检测。本文使用式( 3) 所示高斯拉普拉斯模板对源图像进行卷积操作来识别图像边缘。

对比三种检测算子对车牌区域的检测结果,使用高斯拉普拉斯算子的结果如图2b所示,在高斯滤波之后对同一图像进行Sobel和Canny边缘检测的结果如图2c和2d所示。可以看到,使用高斯拉普拉斯算子检测不会产生额外的细节,同时也能最大程度保证边缘的完整。

3 字符定位

3. 1 连通区域分析

考虑到一个字符的空间范围主要依靠边缘像素来标定,为了更快速准确地计算每一个字符的包围盒,本文采用8-邻域种子填充法( seed filling) 搜索具有相同像素值的相邻区域。搜索算法如下:

1) 考虑到车牌区域通常位于一幅车辆图片的下半部分,并且车牌区域的左右下三个方向都拥有相对更少的边缘信息,本文从二值图像的左下方开始,以先往右后往上的方向,向右上方扫描整幅图像,直到找到第一个值为1 的前景像素P1。

2) 把P1 编号为1,然后从左下方开始扫描8 个相邻像素点,将其中所有像素值为1 的像素编号为1 并入栈。

3) 弹出栈顶像素,扫描其8 个相邻像素点,将像素值为1且未编号的像素压入栈中,若8 邻域像素值均为0,则弹出栈中下一个像素并重复步骤( 3) ,直到栈为空。此时所有标记为1 的像素点组成了1 号连通域。

4) 重复步骤1) ~ 3) ,搜索出2 ~ n号连通域。

3. 2 AABB包围盒建立与筛选

二维AABB是一个矩形包围盒,其定义为包围一个连通域且四边与坐标轴平行的最小矩形。通常使用包围盒的左上顶点坐标( Xlu,Ylu) 和右下顶点坐标( Xrd,Yrd) 来表征其在平面坐标系中的具体位置。本文利用这两个坐标设计一组包围盒参数来筛选车牌字符所对应的包围盒。

定义包围盒的高度Height、宽度Length分别为

则包围盒的宽高比为R = Length/Height。本文利用包围盒的中心点Mi作为字符的定位点,其坐标可表示为

两个相邻包围盒M1、M2 之间的距离定义D为

车牌字符区域的具体筛选流程如下:

1) 车辆上正常安装的车牌都具有固定的宽高比,因此在清晰的车辆图像中,车牌上每一个字符的宽高比大都是相接近的。考虑到可能存在的噪声、车牌倾斜等影响宽高比的因素,本文预先设置宽高比的上下限,高度上限值和宽度下限值,遍历整幅图像并标记包围盒宽高比不在此区间内的连通域。若高宽比落在此区域中,则进一步比较高度值和宽度值并标记不符条件的连通域。扫描完成后将所有被标记的连通域内的像素值都置为0。这样可以滤除图片中大部分不属于车牌部分的干扰区域。

2) 通过对多张车辆车牌图像分析发现,即使在车牌倾斜的情况下,字符包围盒的中心点高度坐标值仍然落在相邻包围盒的两顶点高度坐标值( Ylu,Yrd) 之间,利用这一特性,结合字间距的大小规律可以对剩下的连通域做进一步的筛选。从左下方开始选择第一个连通域包围盒,以其中心点M1 为起始点,在y = Ylu1和y = Yrd1区间内向右搜索是否有其他包围盒的中心点落在此区间内。如果没有,则认为此连通域是孤立区域,将此连通域内所有像素值置0,并选择下一个中心点作为起始点继续搜索。如果有中心点M2 存在,继续检验M1 是否在M2 包围盒的高度区间内,并进一步对比两个包围盒的高度、宽度。只有满足两个中心点都在对方包围盒高度区间,并且包围盒的高度值、宽度值都比较接近这两个条件,才认为这两个包围盒相关,并计算包围盒距离D。否则将起始点退回到M1 并在M1 包围盒高度空间内继续搜索。

3) 在步骤2) 中M2 包围盒高度区间y = Ylu2和y = Yrd2内继续重复步骤( 2) 中搜索方式。当计算得到的若干个距离值满足上文所述的车牌字符间距关系时,提取对应的所有包围盒作为最终搜索到的车牌区域。

在实际车辆图像中,车牌的左右方以及下方通常都是颜色相同的平滑区域,这些区域包含的边缘信息较少。执行完步骤1) 之后,这些区域中只包含很少量的包围盒。考虑到车牌定位的实时性要求,本文从左下方开始检测,只需花费少量时间即可检测出目标包围盒。将所有目标包围盒合并成一个大包围盒,其所对应的区域即为车牌区域。由于边缘检测会不可避免漏掉少量的边缘信息,造成靠近车牌两边的一部分字符信息没有被包含进来,因此需要将大包围盒扩展一个较小的比例,以保证提取到完整的车牌图像。

使用本方法对图3a所示车辆进行检测,检测到的字符连通域如图3b所示,最终检测到的车牌图像如图3c所示。

4 倾斜矫正与字符分割

由于摄像机拍摄角度等原因,车牌图像可能会出现一定倾斜角,这会对后续字符分割和识别造成影响。使用Hough变换矫正倾斜图像存在运算量大的缺点,而使用首尾字符包围盒中心点连线来检测倾斜角度的方法简单快速,但若首尾任一字符的中心点过度偏移于实际位置,则会使检结果产生较大偏差。因此,使用最小二乘法将每个字符包围盒的中心点拟合成一次函数y = ax + b的形式,则车牌倾斜角度为

式中,a为拟合得到直线的斜率。若 α 为负,则将车牌图像逆时针旋转角度| α| ,反之则顺时针旋转 α。

以图3 为例,图3b中7 个字符包围盒的中心点分别为( 166,365) ,( 177,365) ,( 191. 5,364. 5) ,( 202,364. 5 ) ,( 212,363. 5) ,( 223,363. 5) ,( 233,363) 。经过最小二乘法拟合得到的结果为y = - 0. 031 6x + 370. 491 7。进一步求解得到车牌的倾角为 α = arctan (- 0. 031 6) = - 1. 81°。以第四个字符中心点为原点将车牌图像逆时针旋转1. 81°,得到如图4 所示的图像。

旋转图像的同时计算包围盒中心点的新位置。假设第i个字符包围盒中心点位置为( xi,yi) ,若以第四个字符中心点为原点,则其坐标可表示为( xi',y'i) = ( xi- x4,yi- y4) ,其离原点的距离为,旋转 α 角度后其新位置坐标可表示为

旋转之后首先从xi= xi″开始,分别向两边搜索垂直投影值,确定每个字符块的左右边界,之后再从yi= yi″开始在上下两个方向分别搜索每个字符块的水平投影值来确定每个字符的上下边界。这种搜索方式不需对车牌图像进行去边框处理,也不需要遍历整幅图像,对每个字符进行独立分割可以确保分割的准确度。图4 中车牌图像的分割结果见图5。

5 实验结果与分析

车牌图像的质量会受到角度倾斜、车牌污损、曝光过度等因素影响。但只要车牌部分的边缘信息足够完整,本文算法就可以有效地检测车牌区域分割车牌字符。本文对不同条件下所拍摄的200 张样本图像进行实验,定位结果如表1 所示。

由表1 可知,本文算法对大部分车辆车牌图像都有良好的定位和分割效果。能定位到车牌图像就能准确分割图像中的每一个字符。这是因为本文算法中车牌的定位也是通过预先检测车牌字符包围盒的方法实现的,如果能准确检测到车牌字符的包围盒,就可以顺利实现后续的定位和分割操作。本文算法对具有复杂纹理信息的图像也有良好的检测效果。而在夜间进行检测也能取得很不错的效果,这是因为车牌具有良好的反光特性,在夜间被灯光照射的车牌往往拥有更明显的边缘信息。不同条件下车牌检测结果如图6 所示。

过曝、曝光不足或者车牌发生较明显的污损等因素会造成车辆图像模糊从而丢失边缘信息,漏检的那一部分图像就是属于这种类型。

6 结论

1) 本文提出基于CCA和AAB包围盒的车牌字符定位分割算法,使用连通域分析和AAB包围盒来标定和表征图像中的连通区域,并根据车牌字符的实际分布规律来筛选出属于车牌区域的连通域,使用包围盒中心点定位矫正车牌图像并进行字符分割。

2) 仿真实验结果表明,本算法对不同条件下的车牌图像具有良好的检测和分割效果,成功率达到93. 5% 。

字符分割 篇8

车牌的字符分割, 在车牌识别系统中起着至关重要的作用, 只有确保车牌字符的正确分割, 才能进行后续的正确识别。常用的车牌字符分割方法有[1~8]: 垂直投影法、聚类分析法、模板匹配法以及连通域法。垂直投影法编程简单, 运行时间短, 但是对于倾斜的车牌较为敏感, 分割率低, 适应性差。聚类分析法能对汉字有较好的分割, 但是其程序设计复杂, 执行时间长。模板匹配法是投影的另一种形式,能较好的解决汉字不连通问题,而且能一定程度上克服背景的干扰, 但是对于左右边框的分割还有待改进。

连通域法对于倾斜的车牌表现不敏感, 但是对于字符的粘连, 不能够有很好的解决。综合以上考虑, 本文将8 连通域标记矫正法与垂直投影法结合起来, 得到的标记结果等价标记非常少, 减少了对图象的扫描次数,节省了大量的时间。

我国的标准汽车牌照由汉字、英文字母和数字组成,格式为:X1 X2●X3 X4 X5 X6 X7, 其中:X1 是各省、直辖市和自治区的简称;X2 是英文字母;X3 至X7 为英文字母或阿拉伯数字[9]。车牌字符的总长度为409mm,其中单个字符宽度为45mm, 高度为90mm, 第二和第三个字符间距为34mm, 其中, 中间小圆点的宽度为10mm, 与第二和第三个字符间距为12mm, 其余字符的间距为12mm[10]。

车牌经过定位以后, 得到的是一个包含7 个字符、车牌边框、铆钉、噪声等的矩形区域, 字符分割的目的就是把字符单个分割出来,同时要克服铆钉、边框、噪声、倾斜等对它的影响。本文首先对定位后的车牌进行预处理, 其次采用8 连通域标记校正的方法把具有连通性的字符标记出来, 再根据连通域的粗分割结果, 参考标准车牌的先验知识, 结合垂直投影法, 进行细分割, 将粘连的字符分割成为单个字符, 同时合并汉字中不联通的部位, 确保分割字符的完整性。

2 针对字符分割的预处理

2.1 字符的二值化

车牌的二值化, 就是将彩色的车牌图像转变为仅仅有黑(0)、白(1) 两种颜色的车牌图像, 它的目的是将车牌中的字符和背景分离出来, 由于二值图像所包含的信息比灰度图像和彩色图像要少, 所以它的的处理速度相对就较高, 因此二值图像的优势很明显。

二值化的关键即字符的清晰程度主要取决于阈值T的选取, 当T值过小时, 会造成字符的粘连, 而T值过大时, 则容易出现字符的断裂。根据阈值的选取情况,二值化方法可分为全局二值化、局部二值化、以及动态二值化[11,12,13]。本文采用全局二值化中的最大类间方差法(Otsu), 其原理如下:

1) 首先取一个初始阈值T进行分割, 将图像分成两个部分C1和C2,C1的灰度值大于T,C2的灰度值小于T。

2) 设类C1的象素点总数为W1, 类C2的象素点总数为W2, 它们的象素点灰度均值为M1和M2, 方差分别为 σ1和 σ2。

3) 分别求出类间方差σ2b与类内方差σ2a, 两个方差比的最大值即为最佳阈值T。

2.2 中值滤波

车牌图像在采集、传递、转化的过程中, 不可避免的会产生噪声。而且磨损、光照及外部环境的影响也会对车牌图象产生极大地干扰。这些噪声会使车牌图像质量下降, 严重影响后续的字符识别, 因此, 在车牌字符识别前必须对其进行去噪。本文采用中值滤波对车牌图象进行去噪。中值滤波用一个含有奇数点的滑动窗口,将邻域中的像素按灰度级排序, 取其中间值为输出像素。它的效果取决于两个因素: 邻域的空间范围和中值计算中涉及的像素数。它的优点在于能够抑制随机噪声, 同时不使边缘模糊。其数学描述如下:

如果S为像素(x0,y0) 的邻域集合,(x,y) 表示S中的元素,f(x,y) 表示(x,y) 点的灰度值。S表示集合S中元素的个数,Sort表示排序, 则对(x0,y0) 进行平滑可表示为:

中值滤波效果图如图2 所示, 可以看出车牌图像经过中值滤波后, 字符更清晰, 背景更平滑。

2.3 车牌的倾斜校正

在实际悬挂的车牌中, 由于道路情况的复杂, 摄像机的拍摄角度和车牌呈一定倾斜角、车牌悬挂方式的不正确、擦撞、或长时间没有进行适当的调整和维护, 都容易使车牌图像处于倾斜状态, 车牌图像的倾斜, 对于其定位分割以及后续的识别都有较大的影响, 所以需要对倾斜的车牌予以校正。

本文使用Radon变换的方法[14,15], 所谓Radon变化,就是二维函数f(x,y)在不同θ方向的投影,定义为:

其中

2.4 去除上下边框及铆钉

车牌边框和铆钉的存在, 对车牌字符的正确分割存在着一定的影响。我国标准车牌都含有7 个字符, 因此水平扫描其二值图像字符区域时, 至少会经过14 次跳变。同时考虑到车牌上下边框的线段长度, 一定大于单个字符的宽度, 经过测试, 以L=Width/7(Width为车牌的宽度), 跳变次数13 为阈值, 对车牌图象进行行扫描。如果有线段的长度大于L, 或跳变次数小于13, 则认为是车牌的上下边框或铆钉处。

3 字符分割算法

3.1 基于8 连通域标记矫正的字符分割方法

我国车牌字符由37 个汉字、24 个大写英文字母( 车牌中禁止使用字母“I”和“O”, 防止与“1”和“0”相互混淆) 和10 个数字搭配组成。除了汉字字符, 每个英文字母和数字都是独立的连通域, 此方法正是利用这一特点作为车牌字符分割的依据。其基本思想就是在对车牌的二值图像进行扫描时, 将目标“1”值像素集合提取出来, 并使每个不同的连通域分别用不同的数值来表示。常用的标记法有游程扫描标记法和递归搜索法,但运算速度都较慢, 等价标记的数量很大, 占用内存较多, 给后续的标记合并带来很大的麻烦, 本文提出8 连通标记校正算法来进行标记, 该算法的优点是: 基本上在一次扫描中就可以完成整个像素的标记, 且不存在等价标记。相较于传统方法, 该方法大大减少了等价标记对的数量, 减少了扫描图像的次数, 既简化了算法的程序设计, 又节省了大量的时间, 以及存贮空间。

扫描过程中的目标像素需要根据已经确定的相邻像素的连通性来确定自身的连通性,8 连通需要考虑的相邻像素有上(U)、下(D)、左(L)、右(R)、左上(LU)、右上(RU)、左下(LD) 及右下(RD)。

f表示像素值,n表示标记的数值(n初始值为0),m表示当前像素点。本文对二值车牌图像的扫描顺序为从左到右, 从上到下。需要考虑以下几种特殊情况, 扫描步骤如下:

1) 扫描第一行左边的第一个像素点, 若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 则n=1。

2) 从左向右扫描二值图像第一行除第一个像素以外的其他像素, 判断它的连通性, 需要考虑其左侧像素点的连通性。

① 若像素值为0,则不需标记,直接扫描下一个像素;

② 若f(m)=1, 则分析它左侧像素点的像素值, 若f(L)=1, 则n(m)=n(L), 若f(L)=0, 则n(m)=n+1。

3) 扫描二值图像最左列除第一个像素以外的其他像素点, 判断这个位置的连通性, 则要考虑它上和右上像素点的像素值。若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 此时有三种可能:

① 若f(U)=0 且f(RU)=0, 则n(m)=n+1;

② 若f(U) 与f(RU) 有且仅有一个为1, 则把像素值为1 的像素点的n值, 赋给n(m);

③ 若f(U) 与f(RU) 都为1, 比较n(U) 与n(RU)的大小, 把较小的n值赋给n(m), 同时替换掉较大n值。

4) 对其余的点做标记处理时, 需要考虑其左、左上、上、右上像素点的像素值, 若像素值为0, 则不需标记, 直接扫描下一个像素; 若f(m)=1, 且f(L)、f(LU)、f(U)、f(RU) 都为0, 则n(m)=n+1; 若f(m)=1,f(L)、f(LU)、f(U)、f(RU) 有且仅有一个为1, 则把像素值为1 的像素点的n值, 赋给n(m); 若f(L)、f(LU)、f(U)、f(RU) 中, 有大于等于2 小于等于4 个像素点的f值为1,则比较它们n值的大小, 把最小的n值赋给n(m), 同时替换掉其他的像素值为1 较大的n值。

5) 扫描最右列的像素点, 需要考虑其左、左上、上像素点的像素值, 标记方法如3)。

此种方法在字符没有向上分叉的情况下, 一次扫描即可完成。但如果有向上分叉如“G”、“H”等字符,它的等价标记的坐标即是分叉的位置, 只需将标记的二维数组再重新扫描一遍, 去掉等价的标记即可。该方法粗分割结果如图4 所示。

3.2 垂直投影法进行车牌的细分割

经过上一节使用的8 连通域标记校正算法, 已经把具有连通性的字符用方框表示出来, 但是由于定位不准确而引入的竖直边框, 或拍摄角度引起的车牌形变, 甚至车牌的污损堵在了车牌的间隙, 都有可能在连通域的提取时发生字符的粘连, 如图5 中“8 和5”所示, 因此单独地使用连通域法不能准确的分割字符, 为了解决这个问题, 本文在使用连通域粗分割结果的基础上, 通过判断连通域的宽度, 确定待细分割的区域。

其中为符合条件的连通域宽度,K为符合条件的连通域个数,h为连通域的高度( 标准车牌高宽比为2:1),λ、α、β 为待定参数。对于本文的图像集, 经过多次的仿真测试, 当 λ、α、β 分别取15、3、3 时, 所得效果最好。当提取的连通域宽度大于Wmax时, 需要投影法对字符进行更精确的分割。

通过分析垂直投影曲线图可知, 曲线的波谷总是优先出现在无字符区域或字符间隙中。

其具体流程如下:

1) 通过比较, 依次判断提取的连通域宽度大于时, 获得所有待分割区域。

2) 对整幅车牌垂直投影, 将波谷所对应的列依次计入数组L。

3) 找到待分割区域的波谷列x0, 计算与其相邻左右两个波谷列之间的距离y, 调整偏移量, 直至左右均符合Wmin< y < Wmax, 则此列即为最佳分割列。波谷间距离即为字符所在区域。

3.3 区域合并

由于汉字的不连通性, 或者字符发生了断裂, 在连通域算法的分割下, 被提取为多个连通域, 如“黑”字下面的四个点, 针对此类问题, 本文采用区域合并的方法来实现分割过程字符的完整性, 算法流程如下:

1) 当连通域宽度小于Wmin时, 确定为待合并区域。

2) 与左或右相邻连通域进行合并。合并后的区域宽度为d, 判断d的大小。

3) 若d < Wmin, 则继续向左或向右进行合并。循环2, 直至Wmin< d < Wmax

4) 若d > Wmax, 放弃前一步所合并的新区域。

经过以上步骤, 即可得到完整的字符分割。如图7 所示。

4 仿真结果分析与比较

本文的实验数据库, 是由210 张定位后的车牌图像组成。本文实验是在matlab7.0 平台上运行的。

4.1 传统连通域与本文连通域结果比较

本文分别采用连通域分割算法以及本文的方法来分割图片, 实验结果如下:

由实验结果可知, 单独的使用连通域算法, 在汉字问题上, 无法准确地对其分割, 而本文将连通域与垂直投影相结合后, 可以有效的解决汉字不联通的问题。

4.2 几种算法所用时间与准确率的比较

为了验证本文所采用的字符分割算法的有效性,本文再次将数据库中的210 张图片分别使用传统的连通域标记算法、垂直投影法、模板匹配发、聚类分析法以及本文算法做对比实验, 分别从时间方面以及准确率方面来考虑, 相较于传统的连通域算法和聚类分析法大大的缩短了所需要的时间。相较于垂直投影法和模板匹配发, 由于其对形变严重的车牌敏感度较高,对噪声干扰抵抗力较差, 相对于本文算法正确分割率较低。结果见表1 所示。

5 结束语

上一篇:解热镇痛下一篇:思政素质