基于matlab的汽车车牌识别.doc_第1页
基于matlab的汽车车牌识别.doc_第2页
基于matlab的汽车车牌识别.doc_第3页
基于matlab的汽车车牌识别.doc_第4页
基于matlab的汽车车牌识别.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

. . . . .基于matlab的汽车车牌识别车辆牌照自动识别技术是智能交通系统中的关键技术之一,它可广泛应用于交通流量检测,交通控制与诱导,机场、港口、小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。车牌字符识别系统的字量小,包括50多个汉字,24个大写英文字母,10个数字,总共仅80多个字符。而且车牌的制作有国家统一的标准,字符的大小一致,字型统一。相对于普通的字符识别,难度降低了。但从实用的角度看,车辆牌照识别系统应该是一个全自动的、实时的系统,因此要求有较高的识别速度和正确率。完整的车牌识别系统包括图像采集、图像处理、车牌定位、字符分割、字符识别、数据库、数据库支持模块等模块。本文应用图像处理技术、车牌分割技术、字符特征提取方法、神经网络识别技术,模板匹配的方法来解决车辆牌照识别问题,首先将图像进行灰度化、灰度拉伸、中值滤波的预处理方法,消除图像的噪音,强化纵向纹理区;通过对车牌特征和定位技术的深入研究,提出了基于水平扫描和垂直投影法的车牌定位方法,能够很准确地搜索到车牌区域;基于车辆牌照的一些结构特点及先验知识,完成了基于投影直方图的车牌字符分割域;最后对神经网络的构成以及相关的理论进行了讨论,着重分析了在字符识别中的应用方法。1 图像处理:拍得照片原图如下所示 图1 原图(1).格式转换图像采集设备采集的图像一般为彩色图片,由于彩色图片占用存储容量大,处理时间长,需要对图像进行压缩。一般采用的方法是将彩色图像转为灰度图像,灰度图像只含亮度信息,需要的存储的空间少,处理速度快,也为图像后续二值化,其他的处理带来方便。灰度图像转换公式为:Y=0.299R+0.578G+0.114B式中Y是灰度值。式中R、G、B分别表示每个像素的红、绿、蓝3种分量值。Matlab 灰度图像转换命令:gray_image= rgb2gray(I);%将I转换为灰度图像 图2 灰度图(2)图像增强 图像增强是数字图像处理过程中经常采用的一种方法。为了改善视觉效果或者便于人和机器对图像的理解和分析,根据图像的特点或存在的问题采取的改善方法或者加强特征的措施称为图像增强。获取和传输图像的过程往往会发生图像失真,所得到图像和原始图像有某种程度的差别。这种差异如果太大,就会影响人和机器对图像的理解。在许多情况下,人们不清楚引起图像降质的具体物理过程及其数学模型,但却能根据经验估计出使图像降质的一些可能原因,针对这些原因采取简便有效的方法,改善图像质量。例如,图像信号变弱会使人们无法看清图像的细节,而采用增强对比度的方法可使图像清晰一些;图像的噪声干扰也容易使图像质量变差,运用平滑技术可以消减噪声;还有一些物理器件或系统工作原理可等效为一积分过程,信号经过这样的器件或系统后要变模糊,这时可使用微分运算突出边界或其他变化的部分,使图像增强。由于所拍摄的车辆图像的质量受天气、光照、观察点等的影响,车牌图像往往会产生对比度不足的弊端,使图像细节分辨不清,影响识别率。因此,需要将牌照图像进行图像灰度扩展,以便改善图像的观察质量,提高字符识别率。可采用对比度增强和灰度均衡等技术。对比度增强基于点操作的增强方法也叫做灰度变换。使用灰度变换的主要目的就是提高图像的对比度,即增强原图像各部分的反差。图像增强的目的是采用一系列技术,改善图像的效果或将图像转换为为一种更适合计算机处理的形式。主要是指按照需要进行适当的变换,突出某些有用的信息、去除或是消弱无用的信息。图像增强的方法有:中值滤波、直方图均衡,灰度拉伸、通天滤波、高斯滤波、多图像平均、领域平均。腐蚀膨胀等(3)图像的去噪:由于在图像的采集过程中,受硬件或是各种因素的影响,图像中会出现随机的或是非线性的噪声,使得图像受到污染,因此图像的去噪是必须的。对车牌图像进行处理,通常采用空间域法对车牌图像滤波,目的是去除图像中的噪声,通常使用2种方法:线性滤波、中值滤波。线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。经邻域平均后,噪声的均值不变,噪声方差变小,说明噪声强度减弱了,即抑制了噪声。邻域平均法也平滑了图像信号,特别是可能使图像目标区域的边界变得模糊。可以证明,对图像进行邻域平均处理相当于图像信号通过一低通滤波器。中值滤波是空间域法中的一种非线性信号处理方法,它被用来抑制图像中的噪声。二维中值滤波的窗口形状和尺寸对滤波效果影响较大。不同的图像内容和不同的应用要求,往往采用不同的窗口形状和尺寸。常用的窗口形状有线状、方形、圆形、十字形以及圆环形等。窗口的尺寸一般先用3再取5逐点增大,直到其滤波效果满意为止。就一般经验讲,对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜,对于包含有尖顶角物体的图像,适宜用十字形窗口。而窗口大小则以不超过图像中最小有效的细线状物体为宜。如果图像中点、线、尖角细节较多,不宜采用中值滤波。本课题采取线性滤波中的平均滤波。相关的MATLAB 指令:h=fspecial(average,3);%平均值的设定d=im2bw(round(filter2(h,d);%平均滤波(4)图像的边缘检测:边缘使图像的最本特征,边缘检测在计算机视觉、图像分析等应用中起着重要的作用,使图像识别与分析的重要环节。边缘存在于目标与背景、目标与目标、区域与区域之间因此它是图像分割、形状特征、纹理特征的基础。缘具有方向与幅度两个特征。沿边缘走向,像素变化比较平缓。而垂直于边缘走向,则像素变化剧烈。这种剧烈可能呈现阶跃状,也可能呈现斜坡状。边缘的上的像素的一阶导数较大; 二阶导数在边缘检测处值为零,呈现零交叉。这种特点使得边缘检测可以利用数学方法获得,经典的边缘检测算子有Roberts、Sobel、Prewitt、LoG、Canny算子。Roberts算子提取边缘较为粗略,边缘定位不是很准确。Sobel和Prewitt算子相对Roberts算子而言定位比较准确。LoG算子的边缘比较完整,准确性也较好,优于前三种算子。Canny算子由于进行了非极大值抑制和形态学连续操作使得其边缘结果最为完整,且边缘的连续较好,效果优于其他算子,本设计中采用Canny算子。其MATLAB指令:by=edge(gray_image,canny,0.2 0.5);% 使用canny算子进行边缘检测。本次设计中主要是利用Canny算子检测出的边缘求取图像的旋转角度,进行图像的旋转矫正。Radon变换及图像旋转矫正的matlab程序如下;theta = -10:1:10;R, xp = radon(by, theta);r,c = find(R=max(R(:);angle=theta(c);imrot1=imrotate(I,-angle,bilinear,crop)所以要先进行牌照的倾斜校正。由于牌照的上下沿是两条明显的平行直线,因此,一般都采用霍夫(Hough)变换,检测出这两条直线,然后对牌照进行校正 。汽车牌照的定位,是指从摄入的汽车图像中找到汽车牌照所在的位置,并把含有车牌的子区域提取出来。从编程实现的角度来看,就是针对某汽车图像,通过运行某个定位算法,确定车牌子区域的对角坐标。显然,在汽车牌照识别系统中,车牌的定位准确与否直接影响字符识别的准确率。我们知道,车牌区域相比较于其他非车牌区域一个最显著也最有价值的特点是车牌区域字符密集,笔画众多,变化频繁,富含丰富的细节信息,如果我们对图像进行水平扫描和垂直投影,则车牌区域的灰度跳变频率及垂直投影信息必然不同于其他非车牌区域,因此只要我们充分地把握利用好这个特点,并有效结合车牌的先验知识,就可以准确的把车牌区域定位出来。为了准确而快速的实现车牌的定位,人们提出了许多定位算法。这些算法大都基于汽车牌照的不同特征而提出的。这些特征主要包括:(1)车牌区域内字符的纹理特征。包括利用字符宽度和高度、笔划宽度、字符串的长度、字符的连通性,或者进行水平扫描时,字符的灰度分布的变化特征,还有利用字符的笔划分布特征和字符边缘的统计相关性。(2)车牌的格式标准和字符标准信息。利用车牌的几何特征,即车牌的高、宽、高宽比处在一定范围,或者利用牌照字符字间距、字符高宽比和字体等的先验信息。(3)车牌区域水平或者垂直投影特征。车牌区域水平或者垂直灰度累积投影呈现连续的峰谷峰的分布。(4)车牌区域的位置特点。利用车牌一般处在汽车的保险杠,反映到图像中,车牌区域一般在图像的下半部分,这样还可以缩小搜索范围。(5)车牌的彩色信息。采用彩色边缘检测算子获得汽车图像边缘检测图,或者把车牌的彩色信息作为先验知识运用到定位算法中去。(6)频谱特征。即对图像作行或者列的DFT变换,其频谱图中包含了车牌的位置信息。处理方法主要过程分为两大块:行定位与列定位。具体实现方法步骤如下:(1)获取特征图像要想从一整幅包括车身,背景等其他相对于车牌来说属于干扰因素的图像中提取出车牌,就必须抓住车牌区域的最主要特征。车牌区域最主要的特征应该是:车牌的底色和车牌字的颜色形成强烈对比,而且灰度变化频繁。要好好的抓住这个特征来完成车牌提取,而目前所得到的二值图像显然还没有充分的突出这个特点,因此有必要对二值图像进行进一步处理。在这里设计了一个处理函数:F(i,j)为原二值图像,G(i,j)为处理后得到的特征图像,该图像相对于原来的二值图像突出了车牌区域灰度频率变化剧烈这一特点,而且消除了原来二值图像中的黑色的孤立点,减少了对下一步的水平扫描的干扰(2)水平扫描车牌区域由于存在字符和汉字,并且分布紧凑而有规律,因此车牌区域的灰度变化的频率非常剧烈,这是车牌区域的最主要的特征,在获得的特征图像中这一特征得到进一步放大。对图3-1所示的特征图像进行逐行扫描,每一行的灰度由白到黑或由黑到白都记为一次灰度跳变。令m表示灰度跳变次数,对于任一扫描行,黑白灰度跳变一次则m加1一次,当本行扫描结束后m的值即为本行灰度跳变次数。每一行跳变次数计算公式如下:n为特征图像的列数,G(i)为特征图像的任一扫描行。由于车牌区域一般包括7个字符,根据式可知扫描一个字符至少会出现4次跳变,7个字符至少会出现28次跳变,据此可设定一个跳变阈值T,考虑到实际情况,譬如二值化的原因或车牌质量太差或字符断开等原因,特别是车牌有倾斜的情况,设置的阈值T可稍小一点,实验中设定T25左右取得了比较好的效果。在扫描过程中如果一段区域内出现了连续的扫描行灰度跳变次数满足大于T的情况,可视此区域为候选车牌区域。车牌区域上下界可采用式L(t=T)=来约束,L为满足条件的连续扫描行数,t为当前扫描行的灰度跳变次数,为经验值。经过上述行扫描后即可确定候选车牌区域的上下边界。(3)垂直投影在水平行扫描处理后,大部分杂散区域已基本滤除,但实验表明:图像经水平行扫描后仍然会存在一些区域具有与车牌区域水平扫描相似的纹理扫描特征,这些区域即所谓的伪车牌区域,需要通过垂直投影法来消除。车牌区域的投影图具有明显的连续的规律的峰谷峰的特性,并且可能的车牌区域的幅值要远高于其他区域,而伪车牌区域的这个特性则不明显,根据车牌区域的垂直投影图以及车牌长宽比的先验知识则可确定车牌的左右边界。经过步骤(1)(2)(3)后,基本上能够把车牌图像准确定位出来,但由于在定位过程中设定的条件相对较宽松,定位出来的车牌图像还相对粗糙,不满足下一步的字符分割要求,因此还需要进一步精确定位,即进行预处理。 对图像进行预处理时,首先通过车牌区域内灰度变化较大的特性进行初步定位。因此,RGB图像要首先转换为灰度图。经过灰度处理后的图像由于图像信息的减少,会产生一定的噪声;另外,由于采集系统采集图像时也可能因为电子系统的原因留下一些噪声,而噪声对于纹理的影响是不能忽视的,因此要去除图像中的噪声。去除噪声的目的是为了更好的识别车牌,因此,为了突现这个区域的特征,采用数学形态学膨胀算法增强图像。车牌区域检测是利用车牌字符垂直边缘紧密连接的特征来检测。设定一个固定大小的跟踪矩形框,跟踪整幅图像,把满足车牌区域纹理的区域找出来。(4)图像的二值化灰度图像是有256个灰度级的单色图像,多级别的图像能够呈现出较为丰富的明暗度,但对于目标搜索来说,总是希望尽可能地减少背景像素的干扰,而保存或增强目标区的色素度。图像的二值化可把像素的灰度级分成黑与白二级,即把原灰度图像转化为二值图像,在数字图像处理中,二值图像占有非常重要的地位。目前二值化方法依阈值的应用范围可分为全局阈值法、局部阈值法和动态阈值法等。全局阈值法是指在二值化过程中只使用一个阈值,典型的全局阈值方法包括Ostu方法、最大熵方法等,优点在于算法简单,对于目标和背景明显分离、直方图分布呈双峰的图像效果良好,但对输入图像量化噪声或不均匀光照等情况抵抗能力差,应用受到极大限制;局部阈值法则是由像素的灰度值和像素周围局部灰度特性来确定二值化的阈值,Bernsen算法是典型的局部阈值方法,局部阈值法的缺点和问题是实现速度慢、不能保证字符笔划连通性、以及容易出现伪影现象等;动态阈值法的阈值确定不仅取决于该像素的灰度值及其周围像素的灰度值,而且与像素位置信息有关。由于充分考虑了每个像素邻域的特征,能够更好的突出背景和目标的边界,使得相距很近的两条线不会产生粘连现象,二值化效果较好。缺点是算法复杂,耗费资源较多。二值化方法有很多:. 双峰法. 微分直方图法 最大方差法 基于灰度的数学期望的方法. 可变阈值法. 基于纹理的全局二值化方法。此法适用于票据、文本、以及车牌图像。以车牌图像为例,由于图像中牌照四周的景物,光照条件和牌照的整洁程度的影响使得牌照图像的灰度直方图呈现出多种复杂情况,例如没有明显波峰,或两个以上波峰,或两个对等波峰等,使我们无法据此确定牌照字符的灰度范围。此外即使获得较为理想的直方图,也会由于牌照字符像素的灰度分布与背景像素的灰度分布混淆在一起而使阈值的选取缺乏足够依据。本课题采用全局二值法,先求取最佳阈值并以这个值为阈值进行值化。相关MATLAB 指令:g_max=double(max(max(b);g_min=double(min(min(b);T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值m,n=size(b);d=(double(b)=T); % d:二值图像车辆牌照中省份汉字的识别问题,1988年戴营等利用常见的图像处理技术方法提出汉字识别的分类是在抽取汉字特征的基础上进行的。根据汉字的投影直方图选取浮动阈值,抽取汉字在y方向的峰值,利用树形查表法进行汉字的粗分类;然后根据汉字在x方向的投影直方图,选取适当阈值,进行量化处理后,形成一个变长链码,再用动态规划法,求出与标准模式链码的最小距离,实现细分类,完成汉字省名的自动识别。目前牌照自动识别技术尚未达到很完美的程度,但是在国外由于高速公路和收费停车场发展较早,己经成功地开发了一些类似的自动系统。由于我国汽车车牌识别的特殊性,采用任何一种单一识别技术均难以奏效。车牌识别系统包括车牌的定位与分割和车牌字符的识别。这两部分是相辅相成,缺一不可的。车牌定位与字符分割是为字符的识别做准备,是字符识别精确的前提保证,而字符的识别则是关系到最终输出的识别结果。为了解决上述问题,有人提出了基于纹理的二值化方法,该方法分成两个步骤:首先对图像作纹理分析,在纹理分析过程中,将图像中的一个代表区域(通常取图像中部)作为纹理区域,同时将灰度变化平缓的宽度为1个像素的明线段和暗线段作为纹理基元,在纹理区域获得与基元相关的信息。通过纹理分析得到字符灰度级别的相对高低后,采用模式识别中的最大最小准则来获取二值化阈值。纹理是一种灰度的空间分布模式,它是一种空间性质,涉及到像素点的连接性。本文提出的二值化方法基于实时性的要求,力求寻找一种快速而且效果较好的方法,能够更有针对性的解决在不同条件下牌照图像的二值化问题。实验证明经过采用上述方法进行阈值分割后,对于绝大部分图片都能够满足要求,很好的把车牌字符与背景分割开,同时该方法简单快捷,易于理解,实用性强,摒弃了传统算法复杂度高,应用性不强的缺点。采用直方图均衡化算法作灰度拉伸,进行二值化处理,设计一个特征函数,通过对原图片进行特征运算从而求出特征图片,对特征图片进行水平扫描和垂直投影从而确定牌照所在位置。之后进行图像分割。根据车牌图像中单字符的先验知识和特征并根据垂直方向上的投影特征,对切割后的牌照进行单字符分割。如图车牌分割图像。(1)字符预处理对字符进行归一化的处理。 (2)特征的提取应用字符的外围轮廓法和投影浓度法对字符的特征进行提取。(3)分类器的选取应用神经网络的容错和自适应的特征,对所识别的字符进行并行和串行的多识别融合方法识别字符,缩小识别字符集中字符的数量。 为了消除字符的大小、位置对字符特征提取、识别的影响,需要对字符图像进行规范化处理,使它们变成统一尺寸的图像。归一化一般分为位置归一化、大小归一化、笔划粗细归一化。这里我们主要介绍采用大小归一化对字符进行处理。对不同大小的字符字号的变化引起字符尺寸相差接近十倍,对于字号不同的字符识别,需要有效地对对字符大小进行归一化。常用的大小归一化的方法也有两种。一种是将字符的外边框按比例进行线性放大或缩小成为规定尺寸的字符。显然,这个方法受到外围边框的确定影响很大。另一种方法是根据水平和垂直两个方向字符像素的分布进行归一化,但是对于有些字,如“目”、“且”,归一化后会使得它们形状更相似而难以区别,因此我们利用插值法来进行字符的大小归一化。本方法是通过归一化图像中的像素对应在原图像中的点的位置来决定归一化图像中像素点的灰度值,因此我们采用双线性插值法将字符图像归一化。图像如图:在识别时,采用外围轮廓法和投影法分别提取特征值,用模板匹配法识别,识别时将两方法所得结果进行比较:相同时,即认为识别正确,不同时拒识。我们使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论