车牌图像定位与识别_第1页
车牌图像定位与识别_第2页
车牌图像定位与识别_第3页
车牌图像定位与识别_第4页
车牌图像定位与识别_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、专业综合实验报告-数字图像处理专业:电子信息工程班级:姓名:学号:指导教师:2014年7月18日 车牌图像定位与识别一、设计目的利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,巩固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了自己独立编程水平,并在实践中不断完善理论基础,有助于自身综合能力的提高。二、设计内容和要求 车牌识别系统应包含图像获取、图像处理、图像分割、字符识别、数据库管理等几个部分,能够完成复杂背景下汽车牌照的定位分割以及牌照字符的自动识别。这

2、里,只要求对给定的彩色车牌图像变换成灰度图像,用阈值化技术进行字符与背景的分离,再提取牌照图像。三、设计步骤1打开计算机,启动MATLAB程序;2调入给定的车牌图像,并按要求进行图像处理;3记录和整理设计报告四、设计所需设备及软件计算机一台;移动式存储器;MATLAB软件。五、设计过程车辆牌照识别整个系统主要是由车牌定位和字符分割识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割和单个字符识别两个模块。(一)对图像进行图像转换、图像增强和边缘检测等1.载入车牌图像:2. 将彩图转换为灰度图并绘制直方图:3. 用roberts算子进行边

3、缘检测:图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。4. 图像实施腐蚀操作:5. 平滑图像:对于受噪声干扰严重的图象,由于噪声点多在频域中映射为高频分量,因此可以在通过低通滤波器来滤除噪声,但实际中为了简化算法也可以直接在空域中用求邻域平均值的方法来削弱噪声的影响,这种方法称为图象平滑处理。6. 删除二值图像的小对象(2) 车牌定位:从预处理后的汽

4、车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。(3) 字符分割与识别1. 车牌的进一步处理对分割出的彩色车牌图像进行灰度转换、二值化、均值滤波、腐蚀膨胀以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像,对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。2. 字符分割在汽车牌照自动识别过程中,字符分割有承前启后的作用。它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。字符识别的算法很多,因为车牌字符间间隔较大,不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值

5、,则认为该块有两个字符组成,需要分割。在此只进行了归一化处理,然后进行后期处理。六总结根据车牌特点,一般采用的车牌定位算法有:1.边缘检测定位算法;2.利用哈夫变换进行车牌定位;3.色彩分割提取车牌等。这里我采用的是边缘检测的方法实现定位的。字符分割的方法也有多种:1. 基于聚类分析的字符分割;2. 投影分割的方法;3.基于模板匹配的字符分割等。最常用的是投影分割,主要是针对在车牌定位,图像预处理后比较规则的车牌图像。优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。对现实事物的设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次设计使我明白了自己

6、原来知识还比较欠缺。这个设计让我学到了很多东西,涉及到方方面面的知识,在这整个过程中我们查阅了大量的资料,得到了老师和同学的帮助,我在此对他们表示谢意。七源代码:(1)主程序:I=imread('car.jpg');figure(1),imshow(I);title('原图');I1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(I1);title('灰度图');figure(2),subplot(1,2,2),imhist(I1);title('灰度直方图');I2=edge(I1,&#

7、39;roberts',0.18,'both');figure(3),imshow(I2);title('roberts边缘检测图');se=1;1;1;I3=imerode(I2,se);figure(4),imshow(I3);title('腐蚀后图');se=strel('rectangle',25,25);I4=imclose(I3,se);figure(5),imshow(I4);title('平滑图像');I5=bwareaopen(I4,2000);figure(6),imshow(I5);t

8、itle('去除小对象');y,x,z=size(I5);myI=double(I5);ticBlue_y=zeros(y,1);for i=1:y for j=1:x if(myI(i,j,1)=1) Blue_y(i,1)=Blue_y(i,1)+1; end endendtemp MaxY=max(Blue_y);PY1=MaxY;while(Blue_y(PY1,1)>=5)&&(PY1>1) PY1=PY1-1;endPY2=MaxY;while(Blue_y(PY2,1)>=5)&&(PY2<y) PY2=PY

9、2+1;endIY=I(PY1:PY2,:,:);Blue_x=zeros(1,x);for j=1:x for i=PY1:PY2 if(myI(i,j,1)=1) Blue_x(1,j)=Blue_x(1,j)+1; end endendPX1=1;while(Blue_x(1,PX1)<3)&&(PX1<x) PX1=PX1+1;endPX2=x;while(Blue_x(1,PX2)<3)&&(PX2>PX1) PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t

10、=toc;figure(7),subplot(1,2,1),imshow(IY),title('行方向车牌区域');figure(7),subplot(1,2,2),imshow(dw),title('定位后车牌区域');imwrite(dw,'dw.jpg');a=imread('dw.jpg');b=rgb2gray(a);imwrite(b,'gray licence plate.jpg');figure(8);subplot(3,2,1),imshow(b),title('车牌灰度图像');

11、g_max=double(max(max(b);g_min=double(min(min(b);T=round(g_max-(g_max-g_min)/3);m,n=size(b);d=(double(b)>=T);imwrite(d,'binary licence plate.jpg');subplot(3,2,2),imshow(d),title('before filtering binary licence plate');h=fspecial('average',3);d=im2bw(round(filter2(h,d);imwr

12、ite(d,'after average licence plate.jpg');subplot(3,2,3),imshow(d),title('after average licence plate');se=eye(2);m,n=size(d);if bwarea(d)/m/n>=0.365 d=imerode(d,se);elseif bwarea(d)/m/n<=0.235 d=imdilate(d,se); endimwrite(d,'expansion or corrosion the licence plate.jpg'

13、);subplot(3,2,4),imshow(d),title('expansion or corrosion the licence plate');d=qiege(d);m,n=size(d);subplot(3,2,5),imshow(d),title(n);k1=1;k2=1;s=sum(d);j=1;while j=n while s(j)=0 j=j+1; end k1=j; while s(j)=0&&j<=n-1 j=j+1; end k2=j-1; if k2-k1>=round(n/6.5) val,num=min(sum(d(

14、:,k1+5:k2-5); d(:,k1+num+5)=0; endendd=qiege(d);y1=10;y2=0.25;flag=0;word1=;while flag=0 m,n=size(d); left=1;wide=0; while sum(d(:,wide+1)=0 wide=wide+1; end if wide<y1 d(:,1:wide)=0; d=qiege(d); else temp=qiege(imcrop(d,1 1 wide m); m,n=size(temp); all=sum(sum(temp); two_thirds=sum(sum(temp(roun

15、d(m/3):2*round(m/3),:); if two_thirds/all>y2 flag=1;word1=temp; end d(:,1:wide)=0;d=qiege(d); endendword2,d=getword(d);word3,d=getword(d);word4,d=getword(d);word5,d=getword(d);word6,d=getword(d);word7,d=getword(d);figure(9);subplot(2,7,1),imshow(word1),title('1');subplot(2,7,2),imshow(wor

16、d2),title('2');subplot(2,7,3),imshow(word3),title('3');subplot(2,7,4),imshow(word4),title('4');subplot(2,7,5),imshow(word5),title('5');subplot(2,7,6),imshow(word6),title('6');subplot(2,7,7),imshow(word7),title('7');m,n=size(word1);word1=imresize(word1,

17、40 20);word2=imresize(word2,40 20);word3=imresize(word3,40 20);word4=imresize(word4,40 20);word5=imresize(word5,40 20);word6=imresize(word6,40 20);word7=imresize(word7,40 20);subplot(2,7,8),imshow(word1),title('1');subplot(2,7,9),imshow(word2),title('2');subplot(2,7,10),imshow(word3)

18、,title('3');subplot(2,7,11),imshow(word4),title('4');subplot(2,7,12),imshow(word5),title('5');subplot(2,7,13),imshow(word6),title('6');subplot(2,7,14),imshow(word7),title('7');imwrite(word1,'1.jpg');imwrite(word2,'2.jpg');imwrite(word3,'3.j

19、pg');imwrite(word4,'4.jpg');imwrite(word5,'5.jpg');imwrite(word6,'6.jpg');imwrite(word7,'7.jpg');(2)子程序:(getword子程序) function word,result=getword(d) word=;flag=0;y1=8;y2=0.5; while flag=0 m,n=size(d); wide=0; while sum(d(:,wide+1)=0 && wide<=n-2 wide=wide+1; end temp=qiege(imcrop(d

温馨提示

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

评论

0/150

提交评论