周明月,白晓亮,史红,刘微
(1.吉林师范大学 信息技术学院,四平 136000;2.长春迪瑞医疗科技股份有限公司,长春 130000)
在智能交通系统中,车牌识别系统是一个非常重要的发展方向,研制能够自动实时识别汽车牌照的智能车型车牌识别系统,可以广泛的应用于交通路口、高速公路、军事要塞、机关门卫对过往车辆的实时登记、流量统计和对防卫目标的安全警备,对肇事、嫌疑、被盗车辆的追踪、定位等[1]。
本文在现有的车牌识别技术的基础上,提出了一种基于模板匹配的车牌识别方法,实现牌照精确定位技术,并提取字符,运用字符识别技术提高字符识别率。能有效地完成不同解析度和不同模糊程度的车牌识别工作,而且识别精度高、速度快,能满足实际系统的要求。
车牌识别系统的原理框图如图1所示。
在车牌识别系统中,一般摄像头得到的含车辆的图像是24位真彩色图像,需转化为灰度图,一方面便于后续的更快速图像处理,另一方面也是对处理多种颜色车辆牌照进行了统一。为了达到突出车牌区域和各种字符信息的目的,需对车牌图像进行一系列的预处理。本文采用最小均方误差滤波(维纳滤波器),对图像进行增强,将图像中的有用信息进行增强。图2为原始图像真彩色图像,图3维纳滤波器处理后的灰度图像。
图1 车牌识别原理框图Fig.1 The functional block diagram of license plate identification
图2 原始图像Fig.2 Original image
图3 灰度图Fig.3 Gray image
在对图像进行数字化处理时,我们通常希望对图像中的像素做出最后的决策,或者直接剔除一些低于或高于一定值的像素,这时就要采用一种二值化技术。对于不同的车牌,其背景颜色和字符颜色明显是不能相同的,必须存在较大差异,才能方便其字符的识别。检测图像局部变化是否显著的最基本方法是选用边缘检测算法,本文采用的是canny算子进行边缘检测,见图4。
图4 边缘检测图Fig.4 The edge detection image
在整个车牌识别系统中,车牌的定位是最重要的环节,其成功与否直接关系到后面车牌字符分割[2]~[5]与识别的准确率。基于纹理的车牌定位方法是利用车牌区域边缘丰富的特点来进行边缘提取,进而准确定位车牌区域。这里选用的是数学形态学的方法[6],其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。
常见的形态学运算有腐蚀和膨胀两种。给定的二值图像I(x,y)和作为结构元素的二值模板T(Ii,j)。腐蚀定义为:
先膨胀后腐蚀的过程称为闭合运算。利用该运算可以填充物体内细小空洞,连接临近物体,平滑边界,但同时并不明显改变原来物体的面积。
在本程序中用到了膨胀和闭合这两个基本运算,并且运用bwareaopen命令从二值图像中移除所有小于P的连通对象即不相干的小对象。由此可以确定车牌区域,得到定位剪裁后的车牌图像图5。
图5 定位剪裁的车牌图像Fig.5 Localization&tailor image
连通区域法借助二值车牌图像中各数字和字符的连通特性,实现对数字和字母的准确切分,前提是无字符粘连或断裂。车牌字符间间隔较大,不会出现字符粘连情况,此处采用的方法为寻找连续有文字的块,若长度大于某阈值L,则认为该块有两个字符组成,需要分割。
对大量图像进行字符分割后,对分割字符准确率的分析,分割车牌准确率达到96.7%。字符分割后所得到的单一字符为接下来的字符识别提供数据源,成为模板匹配数据库。图6为分割出来的七个字符图像。
图6 分割出的七个字符图像Fig.6 The characters after segment
字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法[1]。由于机动车车牌识别的字符数据库不是很大,只是由一些特定的汉字字符、字母字符、数字字符组成,使得模板匹配法具有一定的可行性。本文采用模板匹配方法进行字符识别。分割出来的七个字符,为了与字符库中的模板进行匹配,首先要进行归一化。然后依次与字符模板数据库中的字符同样大小的一块区域去匹配。模板的左上角点和分割后的图像的左上角点是重合的,然后平移到下一个像素,仍进行同样的操作。所有位置都对完后,差别最小的那块就是要找目标。匹配采用如下的相关函数做相似度测试:
Si,j为模板下的子图,i,j为这块子图的像素点在车牌中的坐标,T为模板,M,N为模板的长和宽。
运用此种算法的到识别结果见图7。该算法主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高。
图7 识别结果Fig.7 Recognition results
本文提出了一种快速车牌识别的方法,该方法运用了数学形态学知识,并采用模板匹配的相关函数做相似度测试。经大量实验证明该方法识别精度高、速度快,取得了较好的效果。车牌识别系统是智能交通领域研究中的重要环节之一,随着经济的高速发展,车辆在人们的日常工作、生活中占据着越来越重要的地位,车辆数目的高速增长给车辆管理提出了更高的要求。车牌识别系统的识别率和识别速度需要进一步的提高。除了图像处理技术不够成熟,还受到拍摄设备、计算机等硬件设备的性能的限制[7]。因此,研究高速、准确的定位和识别算法仍是当前的主要任务。当然,车牌识别技术也存在一些不足,仍有许多研究性的工作还需要进一步探索。
[1]求是科技,精通Visual C++数字图像模式识别技术及工程实践[M].北京:人民邮电出版社,2008:396-416.
[2]Sirithinaphong T,Chamnongthai K.Extracting of car license plate using motor vehicle regulation and character patter recognition[J].In: Proceedings of IEEE Asia-Pacific Conference on Circuits and Systems,1998:559-562.
[3]Lu Y I.Machine printed character segmentation—An overview[J].Pattern Recognition, 2003(28):25-27.
[4]张禹.车牌识别中的图像提取及分割算法[J].吉林大学学报,2006,44(3):406-410.
[5]张德丰.数字图像处理[M].北京:人民邮电出版社,2009:277-280.
[6]罗军辉.Matlab7.0在图像处理中的应用[M].北京:机械工业出版社,2005:224-229.
[7]蒋传伟.车牌识别系统中车牌定位与字符分割的研究[D].华中科技大学硕士学位论文,2006:44-45.
[8]岳俊华,李岩,武学颖,等.基于海明和竞争网络的数字字符自动识别方法研究[J].长春理工大学学报:自然科学版,2008,31(3):152-154.