分享
分销 收藏 举报 申诉 / 24
播放页_导航下方通栏广告

类型基于数字图像处理的车牌识别大学生.doc

  • 上传人:快乐****生活
  • 文档编号:2330751
  • 上传时间:2024-05-28
  • 格式:DOC
  • 页数:24
  • 大小:788KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 数字图像 处理 车牌 识别 大学生
    资源描述:
    本科生毕业论文(设计) 题 目: 基于数字图像处理的车牌识别设计 姓 名: 周金鑫 学 院: 数理与信息工程学院 专 业: 电子信息工程 班 级: 111 学 号: 1665110130 指导教师: 刘纯利 职称: 教授 2014 年 12 月 24 日 安徽科技学院教务处制 目录 摘要 3 关键词 3 1、设计目的 3 2、设计原理: 3 3、设计步骤: 3 4、实行方案 4 4.1. 总体实行方案: 4 4.2. 各模块的实现: 4 4.2.1输入待处理的原始图像: 4 4.2.2图像的灰度化并绘制直方图: 5 4.2.3 边缘检测 6 4.2.4图像的腐蚀操作: 7 4.2.5平滑图像 8 4.2.6除去二值图像的小对象 8 4.3车牌定位 9 4.4字符的分割与识别 11 4.4.1.车牌的再处理 11 4.4.2字符分割 13 4.5车牌识别: 17 5、总结: 20 6、致谢 20 7、参考文献: 21 基于数字图像处理的车牌识别设计 电子信息工程专业学生 周金鑫 指导教师 刘纯利 摘要:车牌识别在人类社会交通系统中担当重要角色,一个设计优良的车牌识别系统会给人们生活带来极大的方便,本文通过运用matlab和数字图像处理的一些知识简单通过图像预处理,车牌定位,字符分割,采用模板匹配法实现车牌字符的识别。 关键词 : 图像预处理 边缘处理 字符分割 字符识别 1、设计目的 车牌识别系统主要是为了辨别所拍图片中的车牌部分,以此识别车辆。通过车牌识别系统的设计,来实现经过我校西大门的车辆的识别。 2、设计原理: 设计的原理主要如下图所示: 照明设备 摄像设备 触发设备 车牌识别处理单元 图像采集设备 3、设计步骤: 流程图如下: 图象输入 图像预处理 车牌定位 字符分割 字符识别 4、实行方案 4.1. 总体实行方案: 用摄像机获取自然环境下的汽车彩色图像,将彩色图像用matlab软件处理成灰度图像并绘制直方图,然后进行边缘检测图像的腐蚀,平滑图像以及去除二值图像的小对象等操作,再进行车牌的定位和字符分割与识别最终达到识别车牌照的目的。 4.2. 各模块的实现: 4.2.1输入待处理的原始图像: I=imread(‘car.jpg'); imshow(I);%显示车牌的原始图片,结果如下: 图4.2.1原始图像picture1 4.2.2图像的灰度化并绘制直方图: 彩色图像的存储器所需的成本高,且减缓系统的速度执行,所以,在图像识别处理彩色图像一般都转换成灰度图像,以加快图像信息的处理速度。从彩色图像到灰度图像的转换叫做灰度处理。灰度直方图的横坐标代表图片的像素数,从左到右由暗到亮,灰度直方图的纵轴就表示其所占有图片的面积,峰值越低就意味着该明暗值的像素数量越少,从图4.2.2可以看出峰值最高的即为车牌区域。  I1=rgb2gray(I);%灰度处理 subplot(1,2,1),imshow(I1);title('gray image'); subplot(1,2,2),imhist(I1);title('灰度图直方图');%绘制灰度图和直方图 显示结果图像如下: 图4.2.2灰度化并绘制直方图picture2 4.2.3 边缘检测 边缘是一定存在在两个拥有不一样灰度值的相邻的区域之间的,是灰度值不连续的一种表现,也是分割图象、纹理和形状特征提取等图像分析的基础。本文用Roberts算子来实现边缘检测,他是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑,当然还需要后续的腐蚀,平滑图像以及去除二值图像的小对象操作来提高精度。 由于阈值越小检测的边缘越丰富,结合选取的灰度图选择阈值为0.16较为合适。 用roberts算子实行边缘检测: I2=edge(I1,'roberts',0.16,'both'); imshow(I2);title('roberts operator edge detection image'); 结果如下: 图4.2.3 边缘检测picture3 4.2.4图像的腐蚀操作: 腐蚀操作就是通过不断的删除图片上的像素,将图片缩小,以此来达到去除小点状图形的效果。 se=[1;1;1]; I3=imerode(I2,se);%图像腐蚀操作 imshow(I3);title('corrosion image'); 图4.2.4图像腐蚀操作picture4 4.2.5平滑图像 图像平滑是去掉图像中的高频信息,使图像变的模糊,噪声一般都是高频信息,平滑的过程也就意味着除去图片噪声的过程。 se=strel('rectangle',[16,16]);%建立正方形结构元素 I4=imclose(I3,se);% 图像聚类和填充 imshow(I4);title('smothing image'); 图2.5平滑图像picture5 4.2.6除去二值图像的小对象 除去二值图像的小对象就为了去掉面积较小无关的白色区域,将车牌所在的大面积白色区域凸显出来。 I5=bwareaopen(I4,1900);% 除去聚团灰度值在1900以下的部分 imshow(I5);title('remove the small objects'); %滤波后图像 显示结果如下 : 图4.2.6除去二值图像的小对象picture6 4.3车牌定位 自然环境下,汽车图像背景十分复杂,受光照不均匀、污渍等影响,所以在自然背景下准确的将车牌区域确定下来是整个识别过程的关键,所以先要对原图像进行大范围横向(X),纵向(Y)像素点相关搜索,找到符合汽车牌照的候选区,然后对候选区做进一步的分析,判断,最终确定一个最佳的区域作为牌照区域。 代码显示如下: [y,x,z]=size(I5);%返回I5各维的尺寸,存储在x,y,z中 myI=double(I5);%将I5转换成双精度 tic %tic计时开始,toc计时结束 Blue_y=zeros(y,1);%产生一个y*1的零阵 for i=1:y for j=1:x if(myI(i,j,1)==1) %若myI的图像中坐标(i,j)的点值为1,则表示蓝色背景 %则Blue_y(i,1)的值加1 Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end end end [temp MaxY]=max(Blue_y);%Y方向车牌区域确定 % MaxY是yellow_y元素中最大值temp的索引 PY1=MaxY; while ((Blue_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Blue_y(PY2,1)>=5)&&(PY2<y)) PY2=PY2+1; end IY=I(PY1:PY2,:,:); %行方向车牌区域确定 %%%% X方向 %%%% Blue_x=zeros(1,x);%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)&&(PX1<x)) PX1=PX1+1; end PX2=x; while ((Blue_x(1,PX2)<3)&&(PX2>PX1)) PX2=PX2-1; end PX1=PX1-1;%车牌区域校正 PX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,:); t=toc; subplot(1,2,1),imshow(IY),title('Line direction areas');%车牌行方向区域的确定 subplot(1,2,2),imshow(dw),title('positioning color images');%车牌已经定位后的区域显示如下: 图4.3.1车牌的定位picture7 4.4字符的分割与识别 4.4.1.车牌的再处理 划分彩色图像需经过灰度变换,二值化,均值滤波,腐蚀和膨胀到一个字符,并对分割字符进二值化、归一化等图像预处理使车牌图像的车牌号字符分割构成隔离,然后分析识别已经分割字符识的图像并用文本的车牌号的形式呈现出来。代码显示如下: imwrite(dw,'dw.jpg');%把彩色车牌写入dw文件里 a=imread('dw.jpg');%读取车牌文件数据 b=rgb2gray(a);%把车牌图像变换为灰度图 imwrite(b,'gray licence plate.jpg');%把灰度图像写入文件里 subplot(3,2,1),imshow(b),title('车牌灰度图像') 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,'binary licence plate.jpg'); subplot(3,2,2),imshow(d),title('before filtering binary licence plate') %均值滤波之前 % 滤波 h=fspecial('average',3); %模板的尺寸:3*3,average:均值滤波,建立滤波算子 d=im2bw(round(filter2(h,d)));%用指定的滤波器h然后对其均值滤波即进行d imwrite(d,'after average licence plate.jpg'); subplot(3,2,3),imshow(d),title('after average licence plate') % 操作某些图象 % 膨胀或腐蚀 % se=strel('square',3); %图片膨胀处理 % 'line'/'diamond'/'ball'... se=eye(2); % eye(n) returns the n-by-n identity matrix 单位矩阵 [m,n]=size(d); if bwarea(d)/m/n>=0.36 d=imerode(d,se);%假如大于0.36即图像进行腐蚀 elseif bwarea(d)/m/n<=0.23 d=imdilate(d,se);%假如小于即实现膨胀操作 end imwrite(d,'expansion or corrosion the licence plate.jpg'); subplot(3,2,4),imshow(d),title('expansion or corrosion the licence plate'); 运行结果显示如下: 图4.4.1字符分割与识别picture8 4.4.2字符分割 字符分割就是把已经定位好的车牌区域上的字符分别提取出来,我们知道中国的车牌上字符之间是存在间隙的,就是利用这个间隙来实现我们对定位区域的车牌分割,通过搜索连续在一起的字符块,若长度高于某一阈值,则为两个字符组成,要分割,对分割好的字符再进行归一化的处理。 %搜索连续在一起的字符块,若长度高于某一阈值,则为两个字符组成,要分割,对分割 %建立子函数qiege、getword,调用子程序,分割车牌字符并做归一化的处理 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(:,[k1+5:k2-5]))); d(:,k1+num+5)=0; % 分割车牌字符 end end % 进一步切割 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; 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([round(m/3):2*round(m/3)],:))); if two_thirds/all>y2 flag=1;word1=temp; % WORD 1 end d(:,[1:wide])=0;d=qiege(d); end end % 分割出第二个字符 [word2,d]=getword(d); % 分割出第三个字符 [word3,d]=getword(d); % 分割出第四个字符 [word4,d]=getword(d); % 分割出第五个字符 [word5,d]=getword(d); % 分割出第六个字符 [word6,d]=getword(d); % 分割出第七个字符 [word7,d]=getword(d); subplot(2,7,1),imshow(word1),title('1'); subplot(2,7,2),imshow(word2),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); % 取40*20为归一化大小,如下 word1=imresize(word1,[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),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.jpg'); imwrite(word4,'4.jpg'); imwrite(word5,'5.jpg'); imwrite(word6,'6.jpg'); imwrite(word7,'7.jpg'); 运行结果显示如下: 图4.4.2字符分割picture9 4.5车牌识别: 在此采用相减的模板匹配法来判断字符和模板中哪一个字符最接近,再找到相似度最高的字符作为输出结果。通常车辆牌照的字符有7个,一般第一位是汉字,表示车辆所属的省份,而后的为字母和数字。车牌字符的识别较一般文字识别要简单些,主要是它的字符数是有限的,汉字一共约50多个,大写英文字母26个,数字10个。出于实验运算方便的考虑,本文仅建立了7个汉字26个字母与10个数字的模板。其他的模板算法与之相同。 第一步取字符模板,第二步依次取待识别字符与模板进行匹配,第三步将选中的字符与模板字符相减,得到的零越多也即就越匹配。第四步每一幅相减后的图的零值的个数都要保存,并作为识别出来的结果。 识别的流程图显示如下: 识别字符相减后,值越小表示相似度越大,找到最小的一个也即为匹配的最好的 创建自动识别代码表 读取分割出来的字符 将第一个字符与模板中的汉字模板进行匹配 将第二个字符与模板中的字母模板进行匹配 将后面五个字符与模板中的字母与数字模板进行匹配 识别完成,输出此模板对应值 源代码显示如下: liccode=char(['0':'9' 'A':'Z' '皖豫苏鲁京沪津']); %建立自动识别字符代码表 SubBw2=zeros(40,20); l=1; for I=1:7 ii=int2str(I); t=imread([ii,'.jpg']); SegBw2=imresize(t,[40 20],'nearest'); SegBw2=double(SegBw2)>20; if l==1 %第一位汉字的识别 kmin=37; kmax=43; elseif l==2 %第二位 A~Z 字母的识别 kmin=11; kmax=36; else l>=3 %第三位后面识别字母或数字 kmin=1; kmax=36; end for k2=kmin:kmax fname=strcat('字符模板\',liccode(k2),'.jpg'); SamBw2 = imread(fname); SamBw2=double(SamBw2)>1; for i=1:40 for j=1:20 SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j); end end % 2张图相减得到第3张图 Dmax=0; for k1=1:40 for l1=1:20 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); Code(l*2-1)=liccode(findc(1)+kmin-1); Code(l*2)=' '; l=l+1; end picture(10),imshow(dw),title (['车牌号码:', Code],'Color','b'); 图4.5.1车牌识别picture10 5、总结: 实验对车牌识别系统的识别主要依靠的工具是matlab软件编程,分别从图像预处理、车牌定位、字符分割以及字符识别等方面进行了系统的分析。从本设计用MATLAB编程运行结果可以得出,对于一张自然环境下牌照照片进过本设计采用的图像预处理、roberts算子进行边缘检测、删除二值图像的小对象、车牌识别等对车牌的定位都是非常有效的。 6、致谢 经过这段时间的不断努力我的毕业设计终于搞定了。当你踏踏实实完成毕业设计时你会发现他不仅可以检验前面所学知识,而且也可以提高对自己的自学能力。通过这次的毕业论文设计让我对matlab软件的认识和对数字图像处理的相关知识有了较深的理解,让我了解到知识的学习是一步一个脚印,学习不仅要靠之间的努力专研,还学要虚心求教,有什么不懂不会的不能钻牛角尖,多和同学和老师进行交流,在老师的悉心指导下我学起知识那是非常的迅速,有时问题理解不过来往往是某个知识点不会活着不理解,一担有人在旁稍微指导一下就会豁然开朗。这次毕业设计让我自己的学习更加有自信,相信在以后的工作中,我也会有很大的信心将工作做好。 7、参考文献: 【1】王正林,刘明.精通MATLAB7 北京 电子工业出版社 2006. 【2】郑阿奇.MATLAB实用教程 北京 电子工业出版社 2004. 【3】阮秋琦.数字图像处理(第三版)北京 电子工业出版社 2013. License plate recognition based on the design of digital image processing Student majoring inElectronic and Information Engineering zhoujinxin Tutor liuchunli Abstract License plate recognition systems play in human society an important role in transportation, a well-designed license plate recognition system will bring great convenience to people's lives, the paper through the use of some of the knowledge and digital image processing matlab simply by image preprocessing, license plate location, character segmentation using template matching method to achieve the license plate character recognition. Keywords image pre-processing character segmentation edge character recognition 目 录 第一章 总 论 1 1.1项目概况 1 1.2研究依据及范围 2 1.3结论 3 1.4建议 4 第二章 项目建设的背景和必要性 5 2.1项目建设的背景 6 2.2项目建设的必要性 7 第三章 项目服务需求分析 9 第四章 项目选址与建设条件 11 4.1选址原则 11 4.2项目选址 11 4.3建设条件 12 第五章 建设方案与设计 12 5.1建设规模与内容 12 5.2总体规划设计 13 5.3结构方案 18 5.4主要配套设备 19 5.5给水工程 20 5.6排水工程 22 5.7电气设计 23 5.8节能设计 26 第六章 项目实施进度和招投标管理 29 6.1 项目实施进度 29 6.2招投标管理 31 第七章 环境影响分析 31 7.1项目主要污染源分析 32 7.2 环境保护措施及治理效果 35 第八章 消防、安全与卫生防护 37 8.1 消防 37 8.2  劳动安全 38 8.3  卫生防护 39 第九章 组织机构、运作方式与项目实施进度 39 9.1  项目建设组织机构 39 9.2项目运营组织机构 41 9.3劳动定员 42 第十章 投资估算和资金筹措 42 10.1投资估算 43 10.2 项目所需流动资金 49 10.3资金筹措 49 第十一章  经济和社会效益评价 50 11.1 经济效益评价 50 11.2 社会效益评价 50 第十二章 结 论 50 12.1 主要结论 50 12.2 建 议 51 附录:1、****发改局《关于*******迁建工程项目建议书的批复》 2、****村镇建设管理所《*******迁建项目用地红线》 24
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:基于数字图像处理的车牌识别大学生.doc
    链接地址:https://www.zixin.com.cn/doc/2330751.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork