2008年7月5日星期六

字符结构知识在车牌识别中的应用

字符结构知识在车牌识别中的应用

来源:电子技术应用 作者:中国科学技术大学 宋建才
摘要:提出了一种完全基于结构知识的字符识别方法。该方法以字符的结构特 点和笔画类型、数据及位置作为识别特片生成判定时 ,再利用判定树对汽车牌照中的字母和数字进行分类识别。

关键词:车牌号码 字符结构 判定树 字符识别

汽 车牌照识别是基于图像分割和图像识别理论,对含有汽车牌照的图像 进行分析处理,从而确定汽车牌照在图像中的位置,并进一步提取和识 别出文本字符。从不同车牌图像中分割出的字符图像各式各样 ,尺寸变化范围大,增加了识别的难度。尽管可以采用图像变换方法将 分割出的所有字符图像归一化为相同尺寸,但归一化过程又不可避免地 丢失有用的字符信息,造成图像失真,无助于提高识别准确率 ,并且浪费时间,降低了识别速度。

本文通过分析汽车牌照的特点,提出了一种利用字符的笔画特征和结构 知识对汽车牌照中的字母和数字进行识别的方法。试验表明 ,该方法识别速度快、准确率高,不受字符图像大小影响,适应性强。

1 车牌字符结构和识别

中 国大陆汽车牌照中使用的字符包括59个汉字、25个英文字母 (字母I不用)和10个阿拉伯数字三种类型共94个 ,且都是印刷体,结构固定、笔画规范。图1是车牌号码中使用的全部 字母和数字的图像。这些字符的结构在水平方向有三种类型 :左右对称、左大右小、左小右大。在竖直方向同样有三种结构 ,即上下对称、上大下小、上小下大。如车牌号码中使用的数字"8 ",就属于左右对称且上下对称。

从图1可以看出,全部字母和数字的笔画共有两大类 :直笔画和弧笔画。直笔画又可分为横笔画、竖笔画、左斜笔画 (相当于汉字笔画中的"撇")和右斜笔画(相当于汉字笔画中的 "捺")。弧笔画是一条曲线段,本文将其分为两类 :开弧笔画和闭弧笔画。所谓开弧笔画,指该弧笔画没有形成封闭环 ,如字母"C"。而闭弧笔画则形成一个封闭的环,如数字"0"。

根据字符图像的这一特点,本文采用下述方法对字母和数字进行逐级分 类,形成一棵识别判定树,每个字符就是一个叶子:

(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"。

. 由于字符"N"有一右斜笔画,以此将其从"M"和"U "中识别出来。对于"M"和"U",依靠结构特征已无法识别 ,本文使用字符图像中前景像素个数与背景像素个数的比值来判断 。根据这两个字符的特点,只计算字符上半部分即可。 · 识别"5"、"E"、"F"、"G"、"H"、"I"和"T" 。这些字符中,只有"E"具有三条横笔画,"F"有两条横笔画 ,其余为一条横笔画。剩下的字符中,按照竖笔画的数量分为两组: "5"、"L"和"T"为一条竖笔画,"G"和"H "为两条竖笔画。"H"的两条竖笔画长度相同,而"G "的两条竖笔画则一长一短,这是区分"G"和"H"的标志。"T "的竖笔画在中间,"5"和"L"的竖笔画在左边。"L "的竖笔画长,"5"的竖笔画短,这样就完成了"5"、"T"和 "L"的识别。

搜索封闭环实际上就是在字符图像中搜索连通域。在字符的二值图像中 ,假定字符像素值"1",背景像素值为"0",则:

(1)无封闭环的字符图像中只有两个连通域,即字符连通域和背景连 通域,图2(a)中的B和F。

(2)只有一个封闭环的字符图像中有三个连通域,即一个字符连通域 和两个背景连通域,图2(c)中的B1、B2和F。

(3)有两个封闭环的字符图像中有四个连通域,即一个字符连通域和 三个背景连通域,图2(b)中的B1she、B2、B3和F。

搜索封闭环的算法如下:

(1)读入二值字符图像。

(2)找到一个像素值为"0"的背景像素点B。

(3)搜索B的连通域,并将该连通域内的像素全部标记为背景1。

(4)遍历图像中像素值为"0"的像素。

(5)若所有"0"像素都已标记为背景1,则该图像内封闭环个数为 0,跳转到(11)。

(6)若存在没有标记为背景1的"0"像素点B1,则有封闭环。

(7)搜索B1的连通域,并将该连通域内的像素全部标记为背景2。

(8)遍历图像中像素值为"0"的像素。

(9)若所有"0"像素都已标记为背景1或背景2该图像内封闭环个 数为1,跳转到(11)。

(10)若存在没有标记为背景1或背景2的"0"像素 ,则该图像内封闭环个数为2。

(11)结束搜索,返回封闭环个数。

字符的笔画抽取可参见文献[1]

2 识别测试

利 用本识别方法,笔者对从车牌中分割出的字符进行了识别测试 。所测试的字符包括了车牌中所使用的全部35个数字和字母共700 0幅图像,其中图幅最大的为l00xl00像素,而最小的是20x 20像素。正确识别的有6946幅,正确率超过99% 。其中识别错误的图像主要集中在字母"0"和"D" 。通过对这些容易识别错误的字符进行二次识别,可以大大提高识别准 确率

本文提出的字符识别方法的核心就是通过判定树对字符群体层层分类 ,从树干开始逐步缩小识别范围,直到最后只有一类字符 ,即识别成功。

该方法具有如下特点:

(1)不需要建立识别样本库,完全依据字符自身的结构特征进行逼近 识别。

(2)不需要将待识别字符与全部字符进行匹配识别 ,因而提高了识别速度和准确率。

没有评论:

发表评论

欢迎访问、交流!对本博客有何建议,请
来信告知!
本博内容来源于网络,如有不当或侵犯权益,请来信告知,将及时撤除!
如引用博客内容、论文,请注明原作者!

Google一下本博客

  • 《Getting Things Done》读书笔记 - 本文来自 inertial 原创投稿。 我第一次听说《Getting Things Done》这本书的时候误以为它和世面上的那些成功学书籍没什么区别,后来在不少书中看到了这个名字,也看见了很多人的推荐,由此产生了很大的兴趣。上个月正好有不少空闲,就抽时间把这本书读完了。 本来打算读英文原版,但是原版的生...
    5 年前
  • [原]Linux下编译使用boost库 - Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与...
    6 年前
  • [原]猎头、培训与咨询的价值(2)【补1】——北漂18年(93) - 【上期用手机写的,同时用语音输入转化成文字,错字较多,经好友霍师傅提醒本期重写,并增加一部分新内容】 简单谈下我对猎头、培训与咨询的看法。三样都干过,算是有些浅见。 猎头 简单的说就是人才中介。虽然在公司看来是可以直接解决现有企业问题的一个直接方法,但很多时候都不太管用。 猎头费一般是人才的一个月月...
    6 年前
  • OpenCV統計應用-Mahalanobis距離 - Mahalanobis距離是一個可以準確找出資料分布上面極端值(Outliers)的統計方法,使用線性迴歸的概念,也就是說他使用的是共變數矩陣以及該資料分布的平均數來找尋極端值的產生,而可以讓一群資料系統具有穩健性(Robust),去除不必要的雜訊訊息,這邊拿前面共變數矩陣的資料為例,並且新增了兩個點座標向量來做...
    15 年前
  • 努力推进模式识别实际产品的开发与应用 - Salu 无论是手写体识别、文档处理、人脸识别、基于内容的图片搜索、嵌入人工智能的搜索技术、虚拟网络社区、还是其它相关新科技下的信息整合领域,现在都在努力实用化。 前两年、即使现在还有很多人在抱怨说人脸的方法都不能用,但是就今年出现的和正在做的有关人脸识别实际应用的各种形式的产品可以说如雨后春笋。这是一个趋...
    16 年前