数字图像处理在车牌识别中的应用摘要:针对交通管理系统的信息化、智能化发展趋势,通过对车牌特征和定位技术的探索,提出了汽车牌照字符识别系统。系统采用Radon变换对车牌进行倾斜校正,并运用投影直方图进行分析,实现了车牌字符的分割,最后简述了字符识别原理和模板匹配在字符识别中的应用方法。由实验结果可知,系统能准确实现车牌的定位、校正、分割和识别,具有良好的性能。关键词:车牌识别,MATLAB,数字图像处理,模式识别,智能中图分类号:TP273文献标识码:AApplicationofDigitalImageProcessinginLicensePlateRecognition(LPR)Abstract:Inaccordancewiththedevelopingtrendofthetrafficmanagementsystemuponintelligentandinformationrequirements,throughexploringthefeatureoflicenseplatesandthepositioningtechnologies,thelicenseplatecharactersystemisproposed.TiltcorrectionforlicenseplateisconductedbyadoptingRadontransform,andthelicenseplateisanalyzedwithprojectivehistogram,thuscharacterseparationofthelicenseplateisimplemented.Theprincipleofthecharacterrecognitionandtheapplicationoftemplatematchingincharacterrecognitionaredescribedbriefly.Theresultsofexperimentshowthatthissystemcanpreciselylocate,correct,separateandrecognizethelicenseplateswithexcellentperformance.Keywords:Licenseplaterecognition;MATLAB;Digitalimageprocessing;Patternrecognition;Intelligence0引言随着汽车数量的增加,城市交通状况日益受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点。针对此问题,人们运用新的科学技术,相继研制开发出了各种交通道路监视、管理系统。这些系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控、管理和指挥交通的目的。因此,智能交通系统ITS(intelligenttrafficsystem)已成为世界交通领域研究的重要课题[1]。车牌识别系统LPR(1icenseplaterecognition)作为智能交通系统的一个重要组成部分,已在高速公路、城市交通和停车场等项目的管理中占有无可取代的重要地位。它在不影响汽车状态的情况下,由计算机自动完成车牌的识别,从而降低交通管理工作的复杂度。本文应用图像处理技术、车牌定位技术[2]、车牌校正技术、车牌分割技术、字符特征提取方法和模版匹配识别技术等解决了车辆牌照识别问题,并提出了车牌识别系统的设计方案。1车牌识别的原理和方法通常,车牌识别过程分为图像预处理、车牌定位、车牌校正、车牌分割和车牌识别五个部分。①图像预处理:在整个车牌识别系统中,由于采集进来的图像为真彩图,再加上实际采集环境的影响以及采集硬件等原因,图像质量并不高,其背景和噪声会影响字符的正确分割和识别,所以在进行车牌分割和识别处理之前,需要先对车牌图像进行图像预处理操作。②车牌定位:首先对车牌的二值图片进行形态学滤波,使车牌区域形成一个连通区域,然后根据车牌的先验知识对所得到的连通区域进行筛选,获取车牌区域的具体位置,完成从图片中提取车牌的任务。③车牌校正:由于捕捉图片的摄像头与车身的角度问题,得到的车牌图片不是水平的。为了顺利进行后续的分割和识别,必须对车牌进行角度校正。在此,使用了Radon变换来对车牌进行校正。④车牌分割:首先对车牌进行水平投影,去除水平边框;再对车牌进行垂直投影。通过对车牌进行投影分析可知,与最大值峰中心对应的为车牌中第二个字符和第三个字符的间隔,与第二大峰中心距离对应的即为车牌字符的宽度,并以此为依据对车牌进行分割。⑤字符识别:本文采用模板匹配方法来对车牌进行识别。识别过程中,首先建立标准字库,再将分割所得到的字符进行归一化,将归一化处理后的字符与标准字库里的字符逐一比较,最后把误差最小的字符作为结果显示出来。本文采用成熟的数字图像处理技术和Matlab仿真工具[3],使得文中所提出的算法得以实现。如图1所示为采用Matlab实现车牌字符分割技术的程序流程。2图像预处理2.1灰度化数字图像分为彩色图像和灰度图像。在RGB模型中,如果R=G=B,则表示一种灰度颜色,其中R=G=B的值叫做灰度值[4],通常用g来表示。将彩色图像转换为灰度图像的过程叫做灰度化处理。由于彩色图像的存储空间较大,因此,在对图像进行识别等处理过程中,需要将彩色图像转换为灰度图像,以加快后续工作的处理速度。在Matlab中,实现灰度化的程序语句如下:i=imread(‘che.jpg’);//读入原始图像j=rgb2gray(i);//灰度化开始车牌定位车牌校正字符分隔字符识别结束图1程序流程图figure,imshow(i);title(‘原始图像’);figure,imshow(j);title(‘灰度图像’);2.2图像增强由于所拍摄的车辆图像质量受天气、光照和观察点等的影响,车牌图像往往会产生对比度不足的弊端,使图像细节分辨不清,影响识别率。因此,需要将牌照图像进行图像灰度扩展,以便改善图像的观察质量,提高字符识别率。但若对光照条件不好的暗图像采用HE的方法将灰度级扩展到256级的全局范围,则会造成过度拉伸,图像失真较大。本文采用灰度信息与背景信息相结合的局部灰度修正增强方法,其基本原理是将原图像的灰度和背景图像区域相减,实现图像的增强。图2为通过此方法处理后得到的增强图像。图2增强图像2.3图像二值化灰度图像有256个灰度级的单色图像,多级别图像能够呈现出较为丰富的明暗度,但对于目标搜索来说,总是希望尽可能地减少背景像素的干扰而保存或增强目标区的色素度。图像的二值化可以把像素灰度级分成黑与白两级,即把原灰度图像转化为二值图像。2.4边缘检测边缘是指图像局部亮度变化最显著的部分[5]。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征提取和形状特征提取等图像分析的重要基础,图像分析和理解的第一步常常是边缘检测。为得到较好的边缘检测性能,采用Canny算子对图像进行边缘提取。Canny边缘检测是一种比较新的边缘检测算子,它利用高斯函数的一阶微分,能在噪声抑制和边缘检测之间取得很好的平衡。2.5形态学滤波数学形态是一种非线性滤波方法,可以用于抑制噪声,进行特征提取、边缘检测、图像分割等图像处理操作。形态学滤波有四种基础操作:腐蚀、膨胀、开操作和闭操作。本系统运用[5,19]的矩形运算算子,通过对图像进行一系列的开闭操作,有效地将车牌区域连成片,并去除了非车牌区域。3车牌定位汽车牌照的定位是指从摄人的汽车图像中找到汽车牌照所在的位置,并把含有车牌的子区域提取出来。从编程实现的角度来看,就是针对某汽车图像,通过运行某个定位算法,确定车牌子区域的对角坐标。显然在汽车牌照识别系统中,车牌定位准确与否直接影响字符识别的准确率。本文研究车牌定位时充分利用了车牌已有的特征来进行搜索。经过预处理后,图片中的车牌区域已经连接成片,此时,对图片中的连通区域进行提取,并计算区域的特征参数。根据我国现有车牌的标准尺寸(如长45cm、宽15cm)进行区域参数比较,以提取车牌区域,具体实现步骤如下。①对图像每个区域进行标记,然后计算每个区域的图像特征参数,如区域中心位置(Centroid)、最小包含矩阵(BoundingBox)、面积(Area)等。②计算包含所标记的区域的最小宽和高,并根据先验知识,比较谁的宽高比更接近实际车牌宽高比,将更接近的提取并显示出来。至此,已有效地提取出车牌区域,车牌区域图片如图3所示。图3车牌区域二值图4车牌倾斜校正在实际的车牌自动识别系统中,由于摄像机和车牌之间角度的变化,所获得的汽车图像有可能存在一定的变形,这给字符分割带来不利影响,造成误分割和车牌识别率的下降。因此,需要在字符分割之前进行车牌的倾斜校正。本文使用了一种基于Radon变换的车牌倾斜校正的新方法[6]。大量实验表明,该方法简单实用,精确度高,抗干扰能力强。5车牌分割在定位出车牌区域后,为了对车牌进行识别,必须把车牌字符进行切分,然后送人字符识别系统。字符分割的任务就是把多行或多字符图像中的每个字符从整个图像中分割出来,使其成为单个字符。车牌分割的难点在于噪声、粘连以及断裂对字符的影响。本文所采用的方法是基于垂直投影的车牌分割算法。5.1计算车牌水平投影经过上面一系列预处理后,采用以下程序求出车牌二值图像的水平投影图,如图4所示。histrow=sum(S);//计算水平投影figure,bar(histrow);title(‘水平投影(含边框)’);图4车牌水平投影图从图4可以看出车牌字符的高度、上边框和下边框位置。下面对水平投影数据进行分析处理,计算出上下边框位置、字符高度、字符顶行与尾行,得到去除水平边框的车牌图片如图5所示。图5去除水平边框的车牌图片5.2计算车牌垂直投影去处水平边框以后,用下面的Matlab程序实现垂直投影计算:histcol=sum(t);//计算垂直投影figure,bar(histco1);title(垂直投影(去水平边框后));车牌去除水平边框后,垂直投影已经非常清晰,可以清晰得出车牌字符间隔、左边框和右边框位置。在对车牌进行分割时,由于我国的车牌字符不是等距离排列的,车牌上的第二个字符与第三个字符的距离大于其他字符以及边框的距离。因此,为了解决这个问题,本文采用了垂直投影中找最大峰中心距离的方法,即根据所找到的最大峰中心距离,确定车牌上的第二个字符的中心位置。同时,利用此峰中心距离可确定车牌字符的最大宽度,即车牌字符宽度。5.3车牌字符的分割通过以上水平投影和垂直投影分析计算,获得车牌字符高度、字符顶行与尾行、字符宽度和每个字符的中心位置后,即可进行字符的分割。分割后的结果如图6所示。图6分割结果6车牌识别字符识别是对车牌上的汉字、字母和数字进行确认的过程,是系统的核心。本文采用的是基于模板匹配的字符识别方法。6.1构建标准字库本文采用的是基于模版匹在构建标准字库的过程中,用绘图工具绘制了A—Z、0-9和车牌地区名,并且以32行x16列的大小黑体字保存。样本库中的编码规则如下。①数字0-9,文件名为Sam0.Bmp-Sam9.Bmp,代码为1-10;②字母A-z,文件名为SamA.Bmp-SamZ.bmp,代码为11-36;③9个省别汉字,文件名为Sam粤A.bmp-Sam沪A.bmp,代码为37-45。6.2识别过程确定中心距离的方法是:将模版库中的字符图像矩阵与待识别字符图像矩阵作减法,求最小误差(即其相似度),将最相似的模板库中的字符图像矩阵的代码作为识别结果并显示出来。实验结果表明,使用模版匹配方法可以成功地将车牌识别出来。7结束语本文针对智能交通系统中的车牌识别问题,采用Matlab设计开发了车牌识别系统。通过综合采用图像处理技术,实现了车牌的定位、倾斜校正、字符分割和识别功能,实验结果也证明了本文所提出的车牌识别方法是准确、可行的。感谢杨国为老师对本文的有益讨论。参考文献:[1]陆福宏.车牌识别技术在智能交通系统中的应用[J].中国科技博览,2010(12):302.[2]蒲东兵