基于matlab的车牌识别系统的设计(附程序).pdf

上传人:wj 文档编号:14655347 上传时间:2023-06-25 格式:PDF 页数:20 大小:621.69KB
下载 相关 举报
基于matlab的车牌识别系统的设计(附程序).pdf_第1页
第1页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第2页
第2页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第3页
第3页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第4页
第4页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第5页
第5页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第6页
第6页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第7页
第7页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第8页
第8页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第9页
第9页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第10页
第10页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第11页
第11页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第12页
第12页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第13页
第13页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第14页
第14页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第15页
第15页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第16页
第16页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第17页
第17页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第18页
第18页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第19页
第19页 / 共20页
基于matlab的车牌识别系统的设计(附程序).pdf_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于matlab的车牌识别系统的设计(附程序).pdf

《基于matlab的车牌识别系统的设计(附程序).pdf》由会员分享,可在线阅读,更多相关《基于matlab的车牌识别系统的设计(附程序).pdf(20页珍藏版)》请在冰点文库上搜索。

基于matlab的车牌识别系统的设计(附程序).pdf

1车牌识别系统的设计车牌识别系统的设计1摘要:

摘要:

汽车牌照自动识别系统是制约道路交通智能化的重要因素,包括车牌定位、字符分割和字符识别三个主要部分。

本文首先确定车辆牌照在原始图像中的水平位置和垂直位置,从而定位车辆牌照,然后采用局部投影进行字符分割。

在字符识别部分,提出了在无特征提取情况下基于支持向量机的车牌字符识别方法。

实验结果表明,本文提出的方法具有良好的识别性能。

随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。

汽车牌照的自动识别技术已经得到了广泛应用。

22设计目的:

设计目的:

1、使学生在巩固理论课上知识的同时,加强实践能力的提高,理论联系实践。

2、激发学生的研究潜能,提高学生的协作精神,锻炼学生的动手能力。

33设计原理设计原理由于车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并且要求满足实时性要求。

图图11牌照识别系统原理图牌照识别系统原理图该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1所示。

其基本工作过程如下:

(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;2

(2)由摄像机或CCD摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。

44详细设计步骤详细设计步骤4.14.1提出总体设计方案。

提出总体设计方案。

车辆牌照识别整个系统主要是由车牌定位和字符识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割与特征提取和单个字符识别两个模块。

为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。

但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。

牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。

由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。

因此,需要对字符在识别之前再进行一次针对性的处理。

车牌识别的最终目的就是对车牌上的文字进行识别。

主要应用的为模板匹配方法。

因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。

系统可以运行于Windows98、Windows2000或者WindowsXP操作系统下,程序调试时使用matlab。

4.24.2预处理及边缘提取预处理及边缘提取3输入车牌图象灰度校正平滑处理提取边缘图图22预处理及边缘提取流程图预处理及边缘提取流程图4.2.14.2.1图象的采集与转换图象的采集与转换考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色B通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。

因为蓝色(255,0,0)与白色(255,255,255)在B通道中并无区分,而在G、R通道或是灰度图象中并无此便利。

同理对白底黑字的牌照可用R通道,绿底白字的牌照可以用G通道就可以明显呈现出牌照区域的位置,便于后续处理。

原图、灰度图及其直方图见图2与图3。

对于将彩色图象转换成灰度图象时,图象灰度值可由下面的公式计算:

G=0.110B+0.588G+0.302R

(1)G=3RGB

(2)图图33原图原图图图44灰度图灰度图44.2.24.2.2边缘提取边缘提取边缘是指图像局部亮度变化显著的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。

所以在此我们要对图像进行边缘检测。

图象增强处理对图象牌照的可辩认度的改善和简化后续的牌照字符定位和分割的难度都是很有必要的。

增强图象对比度度的方法有:

灰度线性变换、图象平滑处理等。

(1)灰度校正由于牌照图象在拍摄时受到种种条件的限制和干扰,图象的灰度值往往与实际景物不完全匹配,这将直接影响到图象的后续处理。

如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图象中央区域和边缘区域的灰度失衡,或是由于摄像头在扫描时各点的灵敏度有较大的差异而产生图象灰度失真,或是由于曝光不足而使得图像的灰度变化范围很窄。

这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图象的对比度和分辨率。

我们发现车辆牌照图象的灰度取值范围大多局限在r=(50,200)之间,而且总体上灰度偏低,图象较暗。

根据图象处理系统的条件,最好将灰度范围展开到s=(0,255)之间,为此我们对灰度值作如下的变换:

s=T(r)r=rmin,,rmax使得SSmin,Smax,其中,T为线性变换,图图55灰度线性变换灰度线性变换minr-maxrminrSmax-maxrSminrminr-maxrSmin-SmaxS(3)若r(50,200)、s(0,255)则:

85r7.115050255-r150255S(4)

(2)平滑处理对于受噪声干扰严重的图象,由于噪声点多在频域中映射为高频分量,因此可以在通过低通滤波器来滤除噪声,但实际中为了简化算法也可以直接在空域中用求邻域平均值的方法莱削弱噪声的影响,这种方法称为图象平滑处理。

例如,某一象素点的邻域S有两种表示方4325i,j167823i,j145法:

8邻域和4邻域分别对应的邻域平均值为sjijifMjig),(),

(1),((5)其中,M为邻域中除中心象素点f(i,j)之外包括的其它象素总数,对于4邻域M=4,8邻域M=8。

然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。

为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。

图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:

近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。

正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。

边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。

图图66robertrobert算子边缘检测算子边缘检测由上图可以归纳起来以下方面:

原始图像清晰度比较高,从而简化了预处理,结合MATLAB实验过程,得出不是每一种图像处理之初都适合滤波和边界增强。

本次汽车车牌的识别,为了保存更多的有用信息。

4.34.3牌照的定位和分割牌照的定位和分割牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。

6由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。

对图像进行腐蚀去除杂质通过计算寻找X和Y方向车牌的区域完成车牌定位对分割出的车牌做进一步处理图图77牌照定位于分割流程图牌照定位于分割流程图4.3.14.3.1牌照区域的定位牌照区域的定位牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。

此时可进一步确定牌照在整幅图象中的准确位置。

这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。

数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。

在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。

图图88腐蚀后图像腐蚀后图像图图99平滑图像的轮廓平滑图像的轮廓图图1010从对象中移除小对象后图像从对象中移除小对象后图像4.3.24.3.2牌照区域的分割牌照区域的分割对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。

根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底7色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。

然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。

图图1111行方向区域和最终定位出来的车牌行方向区域和最终定位出来的车牌4.3.34.3.3车牌进一步处理车牌进一步处理经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:

大于T的像素群和小于T的像素群,即对图像二值化。

均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。

再用模板中的全体像素的平均值来代替原来像素值。

图图1212裁剪出来的车牌的进一步处理过程图裁剪出来的车牌的进一步处理过程图84.44.4字符的分割与归一化字符的分割与归一化m,n=size(d),逐排检查有没有白色像素点,设置1=j=120)&(PY11)PY1=PY1-1;endPY2=MaxY;while(Blue_y(PY2,1)=40)&(PY2y)PY2=PY2+1;endIY=I(PY1:

PY2,:

:

);%IY为原始图像I中截取的纵坐标在PY1:

PY2之间的部分%end横向扫描%begin纵向扫描Blue_x=zeros(1,x);%进一步确定x方向的车牌区域forj=1:

xfori=PY1:

PY2if(myI(i,j,1)=1)Blue_x(1,j)=Blue_x(1,j)+1;endendendPX1=1;14while(Blue_x(1,PX1)3)&(PX1x)PX1=PX1+1;endPX2=x;while(Blue_x(1,PX2)PX1)PX2=PX2-1;end%end纵向扫描PX1=PX1-2;%对车牌区域的校正PX2=PX2+2;dw=I(PY1:

PY2,:

:

);t=toc;figure(7),subplot(1,2,1),imshow(IY),title(行方向合理区域);figure(7),subplot(1,2,2),imshow(dw),title(定位剪切后的彩色车牌图像)imwrite(dw,dw.jpg);filename,filepath=uigetfile(dw.jpg,输入一个定位裁剪后的车牌图像);jpg=strcat(filepath,filename);a=imread(dw.jpg);b=rgb2gray(a);imwrite(b,1.车牌灰度图像.jpg);figure(8);subplot(3,2,1),imshow(b),title(1.车牌灰度图像)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:

二值图像imwrite(d,2.车牌二值图像.jpg);figure(8);subplot(3,2,2),imshow(d),title(2.车牌二值图像)figure(8),subplot(3,2,3),imshow(d),title(3.均值滤波前)%滤波h=fspecial(average,3);d=im2bw(round(filter2(h,d);imwrite(d,4.均值滤波后.jpg);figure(8),subplot(3,2,4),imshow(d),title(4.均值滤波后)%某些图像进行操作%膨胀或腐蚀%se=strel(square,3);%使用一个3X3的正方形结果元素对象对创建的图像膨胀%line/diamond/ball.se=eye

(2);%eye(n)returnsthen-by-nidentitymatrix单位矩阵m,n=size(d);ifbwarea(d)/m/n=0.365d=imerode(d,se);elseifbwarea(d)/m/n=0.235d=imdilate(d,se);endimwrite(d,5.膨胀或腐蚀处理后.jpg);15figure(8),subplot(3,2,5),imshow(d),title(5.膨胀或腐蚀处理后)%寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割d=qiege(d);m,n=size(d);figure,subplot(2,1,1),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;whilej=nwhiles(j)=0j=j+1;endk1=j;whiles(j)=0&j=round(n/6.5)val,num=min(sum(d(:

k1+5:

k2-5);d(:

k1+num+5)=0;%分割endend%再切割d=qiege(d);%切割出7个字符y1=10;y2=0.25;flag=0;word1=;whileflag=0m,n=size(d);left=1;wide=0;whilesum(d(:

wide+1)=0wide=wide+1;endifwidey2flag=1;word1=temp;%WORD1endd(:

1:

wide)=0;d=qiege(d);endend%分割出第二个字符word2,d=getword(d);16%分割出第三个字符word3,d=getword(d);%分割出第四个字符word4,d=getword(d);%分割出第五个字符word5,d=getword(d);%分割出第六个字符word6,d=getword(d);%分割出第七个字符word7,d=getword(d);figure(9),imshow(word1),title

(1);figure(10),imshow(word2),title

(2);figure(11),imshow(word3),title(3);figure(12),imshow(word4),title(4);figure(13),imshow(word5),title(5);figure(14),imshow(word6),title(6);figure(15),imshow(word7),title(7);m,n=size(word1);%商用系统程序中归一化大小为40*20,此处演示word1=imresize(word1,4020);word2=imresize(word2,4020);word3=imresize(word3,4020);word4=imresize(word4,4020);word5=imresize(word5,4020);word6=imresize(word6,4020);word7=imresize(word7,4020);figure(16),subplot(3,7,8),imshow(word1),title

(1);subplot(3,7,9),imshow(word2),title

(2);subplot(3,7,10),imshow(word3),title(3);subplot(3,7,11),imshow(word4),title(4);subplot(3,7,12),imshow(word5),title(5);subplot(3,7,13),imshow(word6),title(6);subplot(3,7,14),imshow(word7),title(7);imwrite(word1,1.jpg);imwrite(word2,2.jpg);imwrite(word3,3.jpg);imwrite(word4,4.jpg);imwrite(word5,5.jpg);imwrite(word6,6.jpg);imwrite(word7,7.jpg);liccode=char(0:

9A:

Z苏豫陕鲁);%建立自动识别字符代码表SubBw2=zeros(40,20);l=1;forI=1:

7ii=int2str(I);17t=imread(ii,.jpg);SegBw2=imresize(t,4020,nearest);ifl=1%第一位汉字识别kmin=37;kmax=40;elseifl=2%第二位AZ字母识别kmin=11;kmax=36;elsel=3%第三位以后是字母或数字识别kmin=1;kmax=36;endfork2=kmin:

kmaxfname=strcat(字符模板,liccode(k2),.jpg);SamBw2=imread(fname);fori=1:

40forj=1:

20SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);endend%以上相当于两幅图相减得到第三幅图Dmax=0;fork1=1:

40forl1=1:

20if(SubBw2(k1,l1)0|SubBw2(k1,l1)0)Dmax=Dmax+1;endendendError(k2)=Dmax;endError1=Error(kmin:

kmax);MinError=min(Error1);findc=find(Error1=MinError);l=l+1;endfigure(17),subplot(3,1,2),imshow(dw),title(车牌号码:

陕ABA223);%子程序子程序:

(getword子程序)子程序)functionword,result=getword(d)word=;flag=0;y1=8;y2=0.5;whileflag=0m,n=size(d);wide=0;whilesum(d(:

wide+1)=0&wide=n-2wide=wide+1;18endtemp=qiege(imcrop(d,11widem);m1,n1=size(temp);ifwidey2d(:

1:

wide)=0;ifsum(sum(d)=0d=qiege(d);%切割出最小范围elseword=;flag=1;endelseword=qiege(imcrop(d,11widem);d(:

1:

wide)=0;ifsum(sum(d)=0;d=qiege(d);flag=1;elsed=;endendendresult=d;%(qiege子程序子程序)functione=qiege(d)m,n=size(d);top=1;bottom=m;left=1;right=n;%initwhilesum(d(top,:

)=0&top1bottom=bottom-1;endwhilesum(d(:

left)=0&left=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,lefttopddhh);77总结总结本文主要解决了以下几个问题:

1.在背景的图象中如何定位分割牌照区域;2.对分割下来的牌照字符如何提取具有分类能力的特征;3.如何设计识别器。

在车辆牌照字符识别系统的研究领域,近几年出现了许多切实可行的识别技术和方法,从这些新技术和方法中可以看到两个明显的趋势:

一是单一的预处理和识别技术都无法达到理想的结果,19多种方法的有机结合才能使系统有效识别能力提高。

在本系统的设计时,也汲取了以上一些算法的思想,结合实际,反复比较,综合分析;二是在有效性和实用的原则下,结合神经网络和人工智能的新技术的应用是研究的一个方向。

根据车牌特点,一般采用的车牌定位算法有:

1.边缘检测定位算法;2.利用哈夫变换进行车牌定位;3.色彩分割提取车牌等。

这里我采用的是边缘检测的方法实现定位的。

字符分割的方法也有多种:

1.基于聚类分析的字符分割;2.投影分割的方法;3.基于模板匹配的字符分割等。

最常用的是投影分割,主要是针对在车牌定位,图像预处理后比较规则的车牌图像。

优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。

字符识别的基本方法通常又三类:

1.结构特征分析方法;2.模板匹配法;3.神经网络法。

此处采用的是模板匹配的方法,即是将要识别的字符与事先构造好的模板进行比对,根据与模板的相似度的大小来确定最终的识别结果。

但是系统本身还存在许多不足,距离具体实用的要求仍有很大差距,但我却在这次课程设计中学到了很多知识。

1010参考文献参考文献1冈萨雷斯数字图像处理(第二版)电子工业出版社,200782胡小锋、赵辉VC+/MATLAB图像处理与识别使用案例精选.人民邮电出版社,2004.93郁梅等,基于视觉的车辆牌照检测,计算机应用研究,1999(5),P65674叶晨洲,廖金周,一种基于纹理的牌照图象二值化方法,1999(6),P28295朱学芳等,一种自适应细化方法,模式识别与人工智能,Vol.10,No.2,1997(6),P1401456杨万山等,基于BP神经网络的工程图纸图形符号的识别,Vol.16,No.2,20007袁志伟,潘晓露.车辆牌照定位的算法研究J.昆明理工大学学报,2001,26

(2):

56608刘阳,伊铁源等.数字图象处理应用于车辆牌照的识别.辽宁大学学报.2004,65689许志影、李晋平.MATLAB极其在图像处理中的应用.计算机与现代化,2004(4)10崔江、王友仁.车牌自动识别方法中的关键技术研究.计算机测量与控制,2003.11(4)11宋建才.汽车牌照识别技术研究J.工业控制计算机,2004,4445.12韩勇强、李世祥.汽车牌照子图像的定位算法M.微型电脑运用,1999.6065.13梁玮、罗剑锋、贾云得.一种复杂背景下的多车牌图像分割与识别方法D.2003.14张引,潘云鹤,面向车辆牌照字符识别的预处理算法,计算机应用研究,1999(7),20P858715叶晨洲等,车辆牌照字符识别系统,计算机系统应用,1999(5),P101316李宏升等,利用牌照识别技术的停车场安全防盗系统,计算机系统应用,1999(5),P1416

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2