收藏 分销(赏)

汽车车牌图像的区域分割与字符提取.doc

上传人:丰**** 文档编号:4304621 上传时间:2024-09-05 格式:DOC 页数:19 大小:525.50KB
下载 相关 举报
汽车车牌图像的区域分割与字符提取.doc_第1页
第1页 / 共19页
汽车车牌图像的区域分割与字符提取.doc_第2页
第2页 / 共19页
汽车车牌图像的区域分割与字符提取.doc_第3页
第3页 / 共19页
汽车车牌图像的区域分割与字符提取.doc_第4页
第4页 / 共19页
汽车车牌图像的区域分割与字符提取.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、数字图像处理课程设计报告课设题目:汽车车牌图像的区域分割与字符提取学 院:信息工程学院专 业:通信工程班 级:姓 名: 学 号: 指导教师: 目 录不要删除行尾的分节符,此行不会被打印一. 课程设计任务错误!未定义书签。二. 课程设计原理及设计方案1三. 课程设计的步骤和结果6四. 课程设计总结16五. 设计体会16六. 参考文献17一课程设计任务在交通管理过程中,通常采用视频监控方式对闯红灯和超速等违章车辆进行监督。对违章车辆,需要自动检测车牌信息,提取车牌号码,以便查找车主信息和监督管理。国内常用的一般车牌通常是是蓝底白字,长宽比3:1。1、对车牌图像进行预处理,然后进行车牌定位;2、进行

2、字符分割;2、对车牌中的数字、字母和汉字进行提取和识别;3、要求自行设计方案、编写代码实现上述功能,并设计车牌识别的软件界面。二课程设计原理及设计方案1.系统简述一个完整的车牌识别系统闭应包括车辆检测、图像采集、图像预处理、车牌定位、字符分割、字符识别等单元。当车辆到达触发图像采集单元时,系统采集当前的视频图像。车辆识别单元对图像进行处理,定位出牌照位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。车牌识别系统原理如图l所示。车辆图像采集图像预处理车牌定位字符分割字符识别输出结果图1 车牌识别系统原理图(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。(2)车牌定位:

3、从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。但由于该系统的摄像部分工作于开放的户外环境,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要

4、对原始图象进行识别前的预处理。牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。因此,需要对字符在识别之前再进行一次针对性的处理。车牌识别的最终目的就是对车牌上的文字进行识别。识别方法

5、目前主要有基于模板匹配算法和基于人工神经网络算法。2.图像预处理输入车牌图象灰度校正平滑处理提取边缘图2 预处理及边缘提取流程图2.1灰度变换输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时常将彩色图像转换为灰度图像,以加快处理速度。可对图像进行灰度化处理、提取背景图像、增强处理、图像二值化,边缘检测、滤波等处理。然后采用robert算子进行边缘检测,再用imopen和imclose对所得二值图像作开、闭操作进行滤波。彩色图像分为R、G、B三个分量,分别显示出红、绿、蓝等各种颜色,灰度化就是使彩色的R、G、B 分量相等的过程。灰度

6、值大的像素点比较亮(像素值最大为255,为白色) ,反之比较暗(像素值最小为 0,是黑色) 。 图像灰度化的算法主要有以下 3 种: 1)最大值法:使转化后R、G、B的值等于转化前 3 个值中最大的一个,即:R=G=B=max(R,G,B),这种方法转换的灰度图亮度很高。2)平均值法:使转化后R、G、B的值为转化前R、G、B的平均值 R=G=B=(R+G+B)/3 这种方法产生的灰度图像比较柔和。3)加权平均值法:按照一定的权值,对R、G、B的值加权平均,即: R=G=B=(R+G+B)/3,其中、分别为 R、G、B 的权值。、取不同的值,将形成不同的灰度图像。由于人眼对绿色最为敏感,红色次之

7、,对蓝色的敏感性最低,因此使将得到较易识别的灰度图像。一般情况下,当=0.299、=0.587、=0.114时,得到的灰度图像效果最好。2.2边缘提取数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础。边缘是图像的重要特征,图像理解和分析的第一步往往就是边缘检测。目前,边缘检测已成为计算机视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。车牌的一个重要特征就是在该区域存在大量的边缘信息,所以边缘检测对于我们进行车牌识别来说也是相当重要的。边缘是以图像的局部特征不连续的形式出现的,也就是指图像局部亮度变化最显著的部分,如灰度值的突变、颜色的突变、纹

8、理结构的突变等,同时边缘也是不同区域的分界处。图像边缘有方向和幅度两个特性,通常沿边缘的走向灰度变化平缓,垂直于边缘走向灰度变化剧烈。由于边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就利用这个特点,通过计算图像中像素的梯度值来确定边缘点。常用的图像边缘提取算子有Roberts算子、sobel算子、Prewitt算子、Laplacian算子等,它们的模板分别如下:(1)Roberts梯度算子:(2)Sobel算子:(3)Prewitc算子:(4)Laplacian算子:3.车牌定位自然环境下,汽车图像背景复杂,光照不均匀,在自然背景中准确地确定牌照区域是整个图像识别过程中的关键。首先对采集到

9、的图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳区域作为牌照区域。将其从图像中分割嘲出来,同时要考虑车牌倾斜问题。算法流程如下:(1)对二值图像进行区域提取。计算并比较区域特征参数,提取车牌区域。进行闭运算,可使得水平相邻的边缘连接成为连通区域;进行开运算可使得车牌区域与其它背景区域分开,成为独立的连通域。(2)计算包含所标记区域的最小宽和高。并根据先前知识,提取并显示更接近的车牌二子值图。(3)通过计算车牌旋转角度解决车牌倾斜问题。由于车牌倾斜导致投影效果峰谷不明显,需车牌矫正处理,采取线性拟合方法,计算出车牌上边或下

10、边图像值为1的点拟合直线与水平X轴的夹角。4.字符分割完成牌照区域的定位后,再将牌照区域分割为单个字符,可采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值并且该位置应满足牌照的字符书写格式、字符、尺寸限制等条件。利用垂直投影法实现复杂环境下汽车图像中的字符分割效果较好。通过分析计算字符的水平投影和垂直投影,可获得车牌字符高度、字符顶行与尾行、字符宽度、每个字符的中心位置,以方便提取分割字符。然后计算车牌垂直投影,去掉车牌垂直边框,获取车牌及字符平均宽度。最后计算车牌每个字符的中心位置和最大字符宽度,提取分割字符,其算法流程如图3所示。图3车牌分割的MATLA

11、B算法流程此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。算法如下:m,n=size(d),逐排检查有没有白色像素点,设置1=j=50)&(PY11)PY1=PY1-7;endPY2=MaxY;while (Y1(PY2,1)=50)&(PY2y)PY2=PY2+7;end%绘制列曲线图X1=zeros(1,x);% 累计列像素灰度值for j=1:x for i=PY1:PY2 if(I6(i,j,1)=1) X1(1,j)= X1(1,j)+1; end endendPX1=1;while (X1(1,PX1)3)&(PX1x)PX1=PX1+1;

12、endPX2=x;while (X1(1,PX2)PX1)PX2=PX2-1;endDW=Scolor(PY1:PY2,PX1:PX2,:);%车牌定位后图像7. 进一步车牌定位经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。然后通过行像素点的累计值去除顶端和底端不感兴趣的地方。if isrgb(DW) I1 = rgb2gray(DW); %将RGB图像转化为灰度图像else I1=DW;endg_max=double(max(max(I1)

13、;g_min=double(min(min(I1);T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值m,n=size(I1);% d:二值图像imane_bw=im2bw(I1,T/256); %二值化车牌图像 y1,x1,z1=size(imane_bw);I3=double(imane_bw);TT=1;%去除图像顶端和底端的不感兴趣区域%Y1=zeros(y1,1); for i=1:y1 for j=1:x1 if(I3(i,j,1)=1) Y1(i,1)= Y1(i,1)+1 ; end end endPy1=1;Py0=1;while (Y1(

14、Py0,1)9)&(Py0=9)&(Py1y1) Py1=Py1+1; endI2=imane_bw(Py0:Py1,:,:); %目标车牌区域8. 车牌字符分割字符分割的算法很多,因为车牌字符间间隔较大,通常不会出现字符粘连情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割。一般分割出来的字符要进行进一步的处理,以满足下一步字符识别的需要。但是对于车牌的识别,并不需要太多的处理就已经可以达到正确识别的目的。在此只进行了归一化处理,然后进行后期处理。% 寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割d=qiege(I2)

15、;m,n=size(d);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=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=;while flag=0 m,n=size(d); left=1;wide=0; while sum(d(:,wide+1)=0 wide=wide+1; e

16、nd if widey2 flag=1;word1=temp; % WORD 1 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); % 分割出第七个字符m,n=size(word1);%归一化大小为22*14word1=imresize(w

17、ord1,22 14);word7=imresize(word7,22 14);imwrite(word1,1.jpg);imwrite(word7,7.jpg);9. 车牌字符识别此处采用相减的方法来求得字符与模板中哪一个字符最相似,然后找到相似度最大的输出。汽车牌照的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,紧接其后的为字母与数字。车牌字符识别与一般文字识别在于它的字符数有限,汉字共约30多个,大写英文字母26个,数字10个。首先取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的非0值越少那么就越匹配。把每一幅相减后的图的非0值个数保存,即为识别

18、出来的结果。源程序:liccode=char(0:9 A:Z 藏川甘赣贵桂黑沪吉济冀津晋京警兰辽领鲁蒙闽宁青琼陕使苏皖湘新学渝豫粤云浙); %建立自动识别字符代码表 tt=1;l=1;for I=1:7 ii=int2str(I); t=imread(ii,.jpg); t=255-t; level=graythresh(t); t=im2bw(t,level); SegBw2=imresize(t,22 14,nearest); if tt=1 %第一位汉字识别 kmin=37; kmax=72; t=t; SegBw2=imresize(t,22 14,nearest); elseif t

19、t=2 %第二位 AZ 字母识别 kmin=11; kmax=36; else %第三位以后是字母或数字识别 kmin=1; kmax=36; end for k2=kmin:kmax fname=strcat(code moduleSam,liccode(k2),.jpg); SamBw22 = imread(fname); SamBw22 = rgb2gray(SamBw22); SamBw2=imresize(SamBw22,22 14,nearest); level=graythresh(SamBw2); SamBw2=im2bw(SamBw2,level); for i=1:22 f

20、or j=1:14 SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j); end end % 以上相当于两幅图相减得到第三幅图 Dmax=0; for k1=1:22 for l1=1:14 if ( SubBw2(k1,l1) 0 | SubBw2(k1,l1) 0 ) Dmax=Dmax+1; end end end Error(k2)=Dmax; end Error1=Error(kmin:kmax); MinError=min(Error1); findc=find(Error1=MinError); if tt=1 findc=findc+36; end if t

21、t=2 findc=findc+10; end tt=tt+1; res=liccode(findc); shibiejieguo(1,l)=res; l=l+1;end%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 1 wide m); m1,n1=size(temp); if widey

22、2 d(:,1:wide)=0; if sum(sum(d)=0 d=qiege(d); % 切割出最小范围 else word=;flag=1; end else word=qiege(imcrop(d,1 1 wide m); d(:,1:wide)=0; if sum(sum(d)=0; d=qiege(d);flag=1; else d=; end end end result=d;%qiege子函数为:function e=qiege(d)m,n=size(d);top=1;bottom=m;left=1;right=n; % initwhile sum(d(top,:)=0 & t

23、op1 bottom=bottom-1;endwhile sum(d(:,left)=0 & left=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,left top dd hh);得出车牌检测结果为:陕A906L410. 对话框显示及语音朗读msgbox(shibiejieguo,识别结果);duchushengyin(shibiejieguo);%duchushengyin子函数为:function shengyin=duchushengyin(shibiejieguo)wavplay(wavread(audio车牌检测.

24、wav),44000);for i=1:7 if shibiejieguo(1,i)=桂 wavplay(wavread(audio桂.wav),44000); elseif shibiejieguo(1,i)=陕 wavplay(wavread(audio陕.wav),44000); elseif shibiejieguo(1,i)=A wavplay(wavread(audioA.wav),44000); elseif shibiejieguo(1,i)=0 wavplay(wavread(audio0.wav),44000); elseif shibiejieguo(1,i)=9 wav

25、play(wavread(audio9.wav),44000); endendwavplay(wavread(audio车牌检测完毕.wav),44000);11. 设计GUI界面界面设计如下:界面可显示车辆的原始图像,车牌定位图像,进一步定位的车牌区域,车牌字符分割后的结果以及车牌的识别结果。浏览文件按钮可在文件夹中选择要处理的图片,然后按下确认按钮,开始处理,按下结束后,所有图片及字符显示均清除。四课程设计总结本文主要解决了以下问题:1、在背景的图象中如何定位牌照2、将定位的牌照区域中的字符分割;3、对分割下来的牌照字符提取具有分类能力的特征,并对汉字、字母及数字均进行识别。在车辆牌照字符

26、识别系统的研究领域,近几年出现了许多切实可行的识别技术和方法,从这些新技术和方法中可以看到:单一的预处理和识别技术都无法达到理想的结果,多种方法的有机结合才能使系统有效识别能力提高。在本系统的设计时,也汲取了以上一些算法的思想,结合实际,反复比较,综合分析。根据车牌特点,一般采用的车牌定位算法有:1.边缘检测定位算法;2.利用哈夫变换进行车牌定位;3.色彩分割提取车牌等。这里我采用的是边缘检测的方法实现定位的。字符分割的方法也有多种:1. 基于聚类分析的字符分割;2. 投影分割的方法;3.基于模板匹配的字符分割等。最常用的是投影分割,主要是针对在车牌定位,图像预处理后比较规则的车牌图像。优点是

27、程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。字符识别的基本方法通常有三类:1.结构特征分析方法;2.模板匹配法;3.神经网络法。此处采用的是模板匹配的方法,即是将要识别的字符与事先构造好的模板进行比对,根据与模板的相似度的大小来确定最终的识别结果。但是系统本身还存在许多不足,距离具体实用的要求仍有很大差距,但我却在这次课程设计中学到了很多知识。五设计体会通过这次课程设计使我明白了自己原来的数字图像处理知识还比较欠缺,这个设计让我学到了很多东西,在这整个过程中我遇到了很多困难,查阅了大量的资料,也得到了老师和同学的帮助,才逐步将一个个困难克服。其中,让我困扰很长时间的便是

28、许多参数的选取。在图像的预处理阶段,开闭运算的矩阵选取,根据行列累计像素灰度值定位车牌的阈值选取以及车牌分割的参数等都需要多次的尝试与总结才可以找到适合多幅图像的合适的值。另外,字符识别的过程中模板的选取很关键,由于我检测出来的车牌是黑底白字的,而我所使用的模板是白底黑字的,曾一度检测错误,后来才发现这个问题,经过二值变换之后取反再比较,可以得到正确的识别字符。中间也更换过几次模板,要选取与车牌数字最接近的模板,否则很容易识别错误。总之,理论只有应用到实际中才能学着更有意义。学习是一个长期积累的过程,在后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。此次设计也大大提高了我的动手能

29、力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计目前实现了少数的车辆牌照识别,但是在设计过程中所学到的学习方法是我最大收获和财富,相信定会使我受益终身。六参考文献1 王刚,冀小平. 基于MATLAB的车牌识别系统的研究.电子设计工程,2009.17(11):72-732 冈萨雷斯数字图像处理(第二版)电子工业出版社,200783 宋建才汽车牌照识别技术研究叨工业控制计算机,2004(4):44454 陈永超. 基于数字图像处理的车牌识别研究.武汉理工大学硕士学位论文. 2006:16-195 王璐. 基于 MATLAB的车牌识别系统研究.上海交通大学硕士学位论文. 2009:15-276 张 引,潘云鹤.面向车辆牌照字符识别的预处理算法.计算机应用研究,1999(7):85877 郁梅等.基于视觉的车辆牌照检测.计算机应用研究.1999(5):656718

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 机械/制造/汽车

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服