字符结构知识在车牌识别中的应用
摘要:提出了一种完全基于结构知识的字符识别方法。该方法以字符的结构特点和笔画类型、数据及位置作为识别特片生成判定时,再利用判定树对汽车牌照中的字母和数字进行分类识别。
关键词:车牌号码 字符结构 判定树 字符识别
汽车牌照识别是基于图像分割和图像识别理论,对含有汽车牌照的图像进行分析处理,从而确定汽车牌照在图像中的位置,并进一步提取和识别出文本字符。从不同车牌图像中分割出的字符图像各式各样,尺寸变化范围大,增加了识别的难度。尽管可以采用图像变换方法将分割出的所有字符图像归一化为相同尺寸,但归一化过程又不可避免地丢失有用的字符信息,造成图像失真,无助于提高识别准确率,并且浪费时间,降低了识别速度。
本文通过分析汽车牌照的特点,提出了一种利用字符的笔画特征和结构知识对汽车牌照中的字母和数字进行识别的方法。试验表明,该方法识别速度快、准确率高,不受字符图像大小影响,适应性强。
1 车牌字符结构和识别
中国大陆汽车牌照中使用的字符包括59个汉字、25个英文字母(字母I不用)和10个阿拉伯数字三种类型共94个,且都是印刷体,结构固定、笔画规范。图1是车牌号码中使用的全部字母和数字的图像。这些字符的结构在水平方向有三种类型:左右对称、左大右小、左小右大。在竖直方向同样有三种结构,即上下对称、上大下小、上小下大。如车牌号码中使用的数字"8",就属于左右对称且上下对称。
从图1可以看出,全部字母和数字的笔画共有两大类:直笔画和弧笔画。直笔画又可分为横笔画、竖笔画、左斜笔画(相当于汉字笔画中的"撇")和右斜笔画(相当于汉字笔画中的"捺")。弧笔画是一条曲线段,本文将其分为两类:开弧笔画和闭弧笔画。所谓开弧笔画,指该弧笔画没有形成封闭环,如字母"C"。而闭弧笔画则形成一个封闭的环,如数字"0"。
javascript:window.open(this.src);" style="cursor:pointer;"/>
根据字符图像的这一特点,本文采用下述方法对字母和数字进行逐级分类,形成一棵识别判定树,每个字符就是一个叶子:
(1)首先在待识别的字符图像中搜索封闭环的数量和位置。
(2)根据搜索到封闭环的结果判断字符所在的类封闭环字符类、双封闭环字符类、无封闭环字符类。 (3)针对每一类分别进行处理。
(4)双封闭环字符只有"8"和"B",因此只要抽取竖笔画即可区分出这两个字符。"B"的左半部分有一长竖,而"8"没有。
(5)单封闭环的字符有"A"、"D"、"O"、"P"、"Q"、"R"、"0"、"4"、"6"和"9"。根据封闭环的位置将这些字符分成三类:封闭环在上部;封闭环在下部和封闭环在中间,然后再根据结构特点和抽取的笔画特征进行识别。
.封闭环在上部的字符有"P"、"R"和"9"。如果待识别字符图像上半部分有一个封闭环,则从左半部分抽取竖笔画;若左侧部分没有竖笔画,则该字符为"9";若在左半部分抽取到竖笔画,继续抽取右斜笔画;抽取到右斜笔画,该字符为"R";否则为"P"。
.封闭环在下部的字符有"A"、"4"和"6"。如果待识别字符图像下半部分有一个封闭环,则从右半部分抽取竖笔画;若右侧部分有竖笔画,则该字符为"4";若在右半部分没有抽取到竖笔画,继续抽取横笔画;抽取到横笔画,该字符为"A";否则为"6"。
.封闭环在中间的字符有"D"、"O"、"Q"和"0"。实际应用中,"O"和"0"的图像完全相同,可以作为同一个字符处理。如果待识别字符图像中间有一个封闭环,则首先利用上下对称特点判断是否为"Q";若上下对称,则为"0"("O")或"D";然后按照左右对称特征区分字符"0"和"D"。
(6)无封闭环的字符有"C"、"E"、"F"、"C"、"H"、"J"、"K"、"L"、"M"、"N"、"S"、"T"、"U"、"V"、"W"、"X"、
"Y"、"Z"、"l"、"2"、"3"、"5"和"7",通过抽取笔画对这些字符进行识别,具体步骤如下:
· 抽取横笔画和竖笔画。
· 若待识别字符图像没有横笔画和竖笔画,则该字符为"S"、"V"或"X"。
· 若待识别字符图像只有横笔画而没有竖笔画,则该字符为"2"、"3"、"7"或"Z"。
· 若待识别字符图像只有竖笔画而没有横笔画,则该字符为"1"、"C"、"J"、"K"、"M"、"N"、"U"、"W''或"Y"。
· 待识别字符图像既有横笔画又有竖笔画的字符为"5"、"E"、"F"、"C"、"H"、"l"或"T"。
."S"、"V"和"X"的识别。抽取左斜笔画和右斜笔画,"S"没有这两种笔画,从而可识别出"S"。"X"的两条斜笔画交点位于字符图像的中间位置,而"V"的两条斜笔画相交于字符图像的下部,以此识别"X"和"V"。
· 识别2"、"3"、"7"和"Z"。这四个字符中只有"Z"有两条横笔画,从而可以此识别出"Z"。"3"和"7"的横笔画都位于上部,而"2"的横笔画位于下部,这样又可以识别出"2"。对于"3"和"7",利用左斜笔画进行识别。"7"具有左斜笔画,而"3"没有。
·识别"1"、"C"、"J"、"K"、"M"、"N"、"U"、"W"和"Y"。根据竖笔画的数量将这些字符分为三类,"1"、 "C"、"J"、"K"和"Y"都是一条竖笔画、"M"、"N"和"U"是两条竖笔画,而"W"有三条竖笔画,这样就完成了"W"的识别。
对于一条竖笔画的字符,判断该笔画的位置是在左边("C"和"K")、中间("1"和"Y")还是在右边("J"),即可识别出"厂。根据有无右斜笔画区分"C"和"K",按照中间竖笔画的长短区分"1"和"Y"。
.由于