数字车牌识别系统设计和灰度处理_第1页
数字车牌识别系统设计和灰度处理_第2页
数字车牌识别系统设计和灰度处理_第3页
数字车牌识别系统设计和灰度处理_第4页
数字车牌识别系统设计和灰度处理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 目 录1、摘要2、引言3、步骤 图像处理 车牌定位 字符分割 字符识别 灰度变换4、算法实现 5、测试结果与分析6、总结与体会A组题目三):1摘要采用数字图像处理技术对拍摄的车牌图片进行预处理。进行车牌定位,字符分割,取得初始字符模型。对车牌中的数字、字母和汉字进行提取和识别,供后续程序使用。本文描述了采用数字图像处理技术设计算法进行各种处理。2引言数字图像处理,起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约传输了一幅照片,采用了数字压缩技术。1964年美国的JPL实验室处理了太空船“徘徊者七号”发回的月球照片,标志着数字图像处理技术开始得到实际应用。其后,卫星遥感、军事、气象

2、、医学等学科的发展推动了数字图像处理技术的快速发展。目前。数字图像处理己成为工程学、计算机科学、信息科学、物理学、化学、生物学等学科的学习研究对象。在交通管理过程中,通常采用视频监控方式对闯红灯和超速等违章车辆进行监督。对违章车辆,需要自动检测车牌信息,提取车牌号码,以便查找车主信息和监督管理。3步骤3.1理论知识3.1.1图像预处理输入车牌图像灰度校正平滑处理提取边缘3.1.2 灰度变换输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时常将彩色图像转换为灰度图像,以加快处理速度。可对图像进行灰度化处理、提取背景图像、增强处理、图像

3、二值化,边缘检测、滤波等处理。然后采用robert算子进行边缘检测,再用imopen和imclose对所得二值图像作开、闭操作进行滤波。3.1.3 边缘提取数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础。边缘是图像的重要特征,图像理解和分析的第一步往往就是边缘检测。目前,边缘检测已成为计算机视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。车牌的一个重要特征就是在该区域存在大量的边缘信息,所以边缘检测对于我们进行车牌识别来说也是相当重要的。边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,如灰度值的突变、颜色的突

4、变、纹理结构的突变等,同时边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向灰度变化剧烈。由于边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就利用这个特点,通过计算图像中像素的梯度值来确定边缘点。3.1.4 车牌定位自然环境下,汽车图像背景复杂,光照不均匀,在自然背景中准确地确定牌照区域是整个图像识别过程中的关键。首先对采集到的图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳区域作为牌照区域。将其从图像中分割嘲出来,同时要考虑车牌倾斜问题。算法流程如下3.1.5 字符分割

5、完成牌照区域的定位后,再将牌照区域分割为单个字符,可采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值并且该位置应满足牌照的字符书写格式、字符、尺寸限制等条件。利用垂直投影法实现复杂环境下汽车图像中的字符分割效果较好。3.1.6 字符识别字符识别方法主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法是首先将分割后的字符二值化,并将其尺寸缩放为字符数据库中模板的大小,然后与所有模板进行匹配,最后选取最佳匹配作为结果。建立数字库对该方法在车牌识别过程中很重要,数字库准确才能保证检测出的数据正确。基于人工神经元网络的算法有两种,一种是先对特征提取待识别字

6、符,然后用所获得的特征训练神经网络分配器;另一种是直接将待处理图像输入网络由网络自动实现特征提取直至识别结果。模板匹配实现简单,当字符较规整时,对字符图像的缺损、污迹干扰适应力强且识别率高。因此,这里将模板匹配作为车牌字符识别的主要方法。根据课程设计的内容和要求。首先必须要了解Matlab用户界面设计工具箱,然后能灵活运用Matlab图形处理工具进行相应的用户界面设计和图像处理,最后程序设计和功能实现。具体步骤如下:双击打开MATLAB 7.0FileNewGUI单击axes,设置用户界面。axes1大小单击 OK,调用所需按钮调整大小、颜色、修改名称;再建axes2单击OK,调整按钮大小和颜

7、色,修改名称保存ViewM-file Edit编写程序 打开 name,path=uigetfile(*.*,);file=path,name;axes(handles.axes1);x=imread(file); %读取图像handles.img=x; guidata(hObject, handles); %输出保存filename,pathname = uiputfile(*.bmp,);if isequal(filename,pathname,0,0)errordlg(无图像或未处理 );return;elsefile=strcat(pathname,filename); i=getim

8、age(handles.axes2); imwrite(i,file);end另存filename,pathname = uiputfile(*.bmp,);if isequal(filename,pathname,0,0)errordlg( );return;elsefile=strcat(pathname,filename);k=handles.axes2;i=getimage(k);imwrite(i,file);end打印printdlg printdlg(fig) printdlg(-crossplatform,fig)printdlg(-setup,fig)退出clc;close

9、all;close(gcf) 直方图统计axes(handles.axes2);x=(handles.img);set(handles.axes2 ,xtick,0:50:255);if isrgb(x)y=rgb2gray(x);elsey=x;enda=imhist(y);y1=a(1:15:256);x1=1:15:256;bar(x1,y1);直方图均衡axes(handles.axes2);x=(handles.img);if isrgb(x)a=histeq(x(:,:,1);b=histeq(x(:,:,2);c=histeq(x(:,:,3);k(:,:,1)=a;k(:,:,

10、2)=b;k(:,:,3)=c;imshow(k);elseh=histeq(x);imshow(h)end 上下翻转axes(handles.axes2);x=(handles.img);if isrgb(handles.img) for k=1:3 y(:,:,k)=flipud(x(:,:,k); end imshow(y); title()else y(:,:,:)=flipud(x(:,:,:); imshow(y) title()end左右翻转axes(handles.axes2);x=(handles.img);if isrgb(handles.img) for k=1:3 y(

11、:,:,k)=fliplr(x(:,:,k); end imshow(y); title()else y(:,:,:)=fliplr(x(:,:,:); imshow(y); title(?)end彩色变灰色axes(handles.axes2);if isrgb(handles.img) x=rgb2gray(handles.img); imshow(x);else errordlg(这已经是灰度图像,转换失败)end二值化处理axes(handles.axes2);x=(handles.img);if isrgb(x) y=rgb2gray(x);% else y=x;end y1=gra

12、ythresh(y);% a=im2bw(y,y1);% imshow(a)title(图像二值化)伪色彩增强axes(handles.axes2);ifisrgb(handles.img)I=(handles.img);I=double(I);m,n=size(I);c=256;fori=1:mforj=1:nifI(i,j)=c/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=c;elseifI(i,j)=c/2R(i,j)=0;G(i,j)=c;B(i,j)=-4*I(i,j)+2*c;elseifI(i,j)=60)&(PY15) PY1=PY1-5; end PY2

13、=MaxY; while (Blue_y(PY2,1)=50)&(PY2y) PY2=PY2+5; end IY=yi(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 end end PX1=1; while (Blue_x(1,PX1)3)&(PX1x) PX1=PX1+1; end PX2=x; while (Blue_x(1,PX2)PX1) PX2=PX2-1; end PX1=PX1-2; PX2=PX2+2; dw=yi

14、(PY1:PY2,PX1:PX2,:,:); t=toc; imwrite(dw,dw.jpg);axes(handles.axes2);imshow(dw);title(定位剪切后的彩色车牌图像)end车牌字符分割filename,filepath=uigetfile(dw.jpg,输入一个定位裁剪后的车牌图像);jpg=strcat(filepath,filename);y=imread(dw.jpg);b=rgb2gray(y);imwrite(b,1.车牌灰度图像.jpg);g_max=double(max(max(b);g_min=double(min(min(b);T=round(

15、g_max-(g_max-g_min)/3);m,n=size(b);d=(double(b)=T);imwrite(d,2.车牌二值图像.jpg);h=fspecial(average,3);d=im2bw(round(filter2(h,d);imwrite(d,4.均值滤波后.jpg);se=eye(2);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);d=qiege(d);m,n=size(d);k1=1;k2=1

16、;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;endendd=qiege(d);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);e

17、ndend%第2个字符word2,d=getword(d);%第3个字符word3,d=getword(d);%第4个字符word4,d=getword(d);%第5个字符word5,d=getword(d);%第6个字符word6,d=getword(d);%?第7个字符word7,d=getword(d);m,n=size(word1);%归一化处理设大小为40*20.word1=imresize(word1,4020);%imresize改变图像大小word2=imresize(word2,4020);word3=imresize(word3,4020);word4=imresize(w

18、ord4,4020);word5=imresize(word5,4020);word6=imresize(word6,4020);word7=imresize(word7,4020);axes(handles.axes2);subplot(1,7,1),imshow(word1);subplot(1,7,2),imshow(word2);subplot(1,7,3),imshow(word3);subplot(1,7,4),imshow(word4);subplot(1,7,5),imshow(word5);subplot(1,7,6),imshow(word6);subplot(1,7,7)

19、,imshow(word7);imwrite(word1,10.jpg);imwrite(word2,11.jpg);imwrite(word3,12.jpg);imwrite(word4,13.jpg);imwrite(word5,14.jpg);imwrite(word6,15.jpg);imwrite(word7,16.jpg); 车牌字符识别liccode=char(0:9A:Z陕京鲁川);SubBw2=zeros(40,20);l=1;forI=1:7ii=int2str(I);t=imread(ii,.jpg);SegBw2=imresize(t,4020,nearest);ifl

20、=1kmin=37;kmax=40;elseifl=2kmin=11;kmax=36;elsel=3kmin=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);endendDmax=0;fork1=1:40forl1=1:20if(SubBw2(k1,l1)0|SubBw2(k1,l1)8);meth1(J)=230;imshow(meth1);title(梯度锐化)高

21、通滤波x=(handles.img);noisy=imnoise(x,gaussian,0.01); g=fft2(noisy); M,N=size(x);Dcut=80; for u=1:M for v=1:N D(u,v)=sqrt(u2+v2); h=exp(log(1/sqrt(2)*(Dcut/D(u,v)2);% endendz=h.*g;y2=ifft2(z);axes(handles.axes2);imshow(y2);title(高通滤波)B组第三题灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。图像反转灰度级范围

22、为0, L-1的图像反转可由下式获得对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换:s = clog(1 + r),c为常数,r 0幂次变换:对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:灰度线性变换I=imread(22.jpg);subplot(2,2,1),imshow(I);title();axis(50,250,50,200);axis on;%I1=rgb2g

23、ray(I);subplot(2,2,2),imshow(I1);title();axis(50,250,50,200);axis on; %J=imadjust(I1,0.1 0.5,); %0.1 0.50 1subplot(2,2,3),imshow(J);title(0.1 0.5);axis(50,250,50,200);grid on; %axis on; %K=imadjust(I1,0.3 0.7,); %0.3 0.70 1subplot(2,2,4),imshow(K);title(0.3 0.7);axis(50,250,50,200);grid on; %axis on

24、; %灰度非线性变换I=imread(22.jpg);I1=rgb2gray(I);subplot(1,2,1),imshow(I1);title( );axis(50,250,50,200);grid on; %axis on; %J=double(I1);J=40*(log(J+1);H=uint8(J);subplot(1,2,2),imshow(H);title( );axis(50,250,50,200);grid on; %axis on; %6、总结与体会 这次图像处理课程论文写作中,学到了许多图像处理的方法和应用,以及Matlab用户界面程序设计。设计Matlab用户界面时,必

25、须要先了解matlab的工具箱GUI中各个按键的属性,这样便于设计界面。在编写函数文件时,那就必须要求能灵活运用matlab中的基础数学计算,界面设计中还有些特定的编写方式需要了解;对于第一次设计用户界面一般都是在摸索和实验中找到正确的设计方式。设计中常常对一些函数运用条件不是很清楚的问题,使设计运行部出来。从而花费大量时间在检查程序问题,使设计进度非常慢。针对自己的这些缺点,觉得自己还是要多看课本,记忆基本操作函数的运用条件。还要多看课外的有关设计书籍,丰富自己的知识面。 2012年12月17日优秀良好中等及格不及格报告文档1.完全按照课程设计文档规范要求2.内容充实、设计合理1.完全按照课程设计文档规范要求2内容较充实、设计较合理1.基

温馨提示

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

评论

0/150

提交评论