(完整)基于matlab车牌的定位与分割识别程序_第1页
(完整)基于matlab车牌的定位与分割识别程序_第2页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

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

文档简介

1、(完整)基于matlab车牌的定位与分割识别程序编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(完整)基于matlab车牌的定位与分割识别程序)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于matlab车牌的定位与分割识别程序的全部内容。lab车牌的定位与分割识别程序基于Matlab经典算法I二imread(&#

2、39;car。jpg');%读取图像灰度图像缘检测subplot(3,2,3),imshow(I2),title('边缘检测后图像');figure();subplot(3,2,1),imshow(I),title('原始图像');渝AN79迪1-.11二rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title('灰度图像')边缘检测后图像se二L1;1;1;线型结构兀素I3=imerode(I2,se);%腐蚀图像subplot(3,2,4),imshow(13),title('腐蚀

3、后边缘图像');厲蚀方边缘I4=imclose(I3,se);图像聚类、填充图像subplot(3,2,5),imshow(I4),title('填充后图像')(完整)基于matlab车牌的定位与分割识别程序填充方图像15二bwareaopen(14,2000);2000的部分subplot(3,2,6),imshow(l5),title('形态滤波后图像');形态滤液后l5=sizey,x,zl6=double(l5);Y1=zeros(y,1);fori=1:yforj=1:xif(l6(i,j,1)=1)Y1(i,1)=Y1(i,1)+1enden

4、dendtempMaxY=max(Y1);(完整)基于matlab车牌的定位与分割识别程序figure();subplot(3,2,1),plot(0:y-1,丫1),title('行方向像素点灰度值累计和'),xlabel('行值'),ylabel('像素');行方向懺素点撰度値黑计茅口求的车牌的行起始位置和终止位置PY1二MaxY;while(Y1(PY1,1)>=50)&&(PY1>1)PY1=PY11;endPY2=MaxY;while(Y1(PY2,1)>=50)&(PY2<y)PY2=P

5、Y2+1;endIY=I(PY1:PY2,:,:);X1=zeros(1,x);forj=1:xfori=PY1:PY2if(I6(i,j,1)=1)X1(1,j)=X1(1,j)+1;endendendsubplot(3,2,2),plot(0:x-1,X1),title('列方向像素点灰度值累计和'),xlabel('列值'),ylabel('像数');歹!方向像素点視度值累计利%求的车牌的列起始位置和终止位置PX仁1;while(X1(1,PX1)3)&&(PX1x)PX1=PX1+1;endPX2=x;while(X1(1

6、,PX2)<3)&(PX2>PX1)PX2=PX21;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')定位剪切后的卷色车牌图像4.2车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像。ifisrgb(I)11=rgb2gray(l);%将RGB图像转化为灰度图像elsel1=l;endg_max=double(max(max(l1);g_min=double(min(mi

7、n(l1)(完整)基于matlab车牌的定位与分割识别程序T=round(g_max-(g_maxg_min)/3);T为二值化的阈值m,n二size(11);%d:二值图像%h=graythresh(I1);I1=im2bw(I1,T/256);subplot(3,2,4);imshow(ll),title('二值化车牌图像');二値化车牌图像I2=bwareaopen(I1,20);subplot(3,2,5);imshow(l2),title('形态学滤波后的二值化图像');中值滤波后的二值化图像y1,x1,z1=size(I2);l3=double(l2

8、);TT=1;%去除图像顶端和底端的不感兴趣区域%Y1=zeros(y1,1);fori=1:y1forj=1:x1if(I3(i,j,1)=1)Y1(i,1)=Y1(i,1)+1;endendendPy1=1;(完整)基于matlab车牌的定位与分割识别程序Py0=1;while(Y1(Py0,1)<20)&(Py0y1)Py0=Py0+1;endPy1=Py0;while(Y1(Py1,1)=20)&&(Py1<y1)Py1=Py1+1;endI2=I2(Py0:Py1,:,:);subplot(3,2,6);imshow(,title('目标车

9、牌区域');目标车牌区域%分割字符按行积累量X1=zeros(1,x1);forj=1:x1fori=1:y1if(I3(i,j,1)=1)X1(1,j)=X1(1,j)+1;endendendfigure(5);plot(0:x11,X1),title('列方向像素点灰度值累计和')xlabel('列值'),ylabel('累计像素量');(完整)基于matlab车牌的定位与分割识别程序列方向像嘉点灰度苴累计和6011111150100200260300150Px0=1;Px1=1;%分割字符fori=1:7while(X1(1,Px0

10、)3)(Px0x1)Px0=Px0+1;endPx1=Px0;while(X1(1,Px1)=3)&&(Px1x1)|(Px1Px0)10)Px1=Px1+1;endZ=I2(:,Px0:Px1,:);switchstrcat('Z',num2str(i)case'Z1'PIN0=Z;case'Z2'PIN1=Z;case'Z3'PIN2=Z;case'Z4'PIN3=Zcase'Z5'PIN4=Z;(完整)基于matlab车牌的定位与分割识别程序case'Z6'PI

11、N5=Z;otherwisePIN6=Z;endfigure(3);subplot(1,7,i);imshow(Z);瓯®isInanrawPxO二Px1;Endfunctioninpt=pretreatment(I)%YUCHULISummaryofthisfunctiongoeshereDetailedexplanationgoeshereifisrgb(I)I1=rgb2gray(I);elseI1=I;end11二imresize(l1,5020);%将图片统一划为50*20大小I1=im2bw(I1,O.9);m,n=size(l1);inpt=zeros(1,m*n);将

12、图像按列转换成一个行向量forj=1:nfori=1:minpt(1,m*(j1)+i)=l1(i,j);endend神经网络进行识别。(完整)基于matlab车牌的定位与分割识别程序closeaclearall;%归一化训练样本%10二pretreatment(imread('O。jpg');I1=pretreatment(imread('1.jpg');I2=pretreatment(imread('2。jpg');I3=pretreatment(imread('3。jpg');I4=pretreatment(imread(&

13、#39;4.jpg');I5=pretreatment(imread('5.jpg');I6=pretreatment(imread('6。jpg');I7=pretreatment(imread('7。jpg');I8=pretreatment(imread('8。jpg');I9=pretreatment(imread('9。jpg');I10=pretreatment(imread('A。jpg');I11=pretreatmentI12=pretreatmentI13=pretrea

14、tmentI14=pretreatmentI15=pretreatmentimread('C。jpg');imread('G。jpg');imread('L.jpg');imread('M.jpg');imread('R.jpg');I16=pretreatment(imread('H.jpg');I17=pretreatment(imread('N.jpg');I10',P=I0',I1',I2',I3',I4',I5',I6

15、',I7',I8',I9'I11',I12',I13',I14',I15',I16',I17';%输出样本%T=eye(18,18);%bp神经网络参数设置net=newff(minmax(P),1000,32,18,'logsig','logsig',logsig',trainrp')net.inputWeights1,1。initFcn='randnr';net.layerWeights2,1。initFcn='randnr'

16、;net.trainparam.epochs=5000;net。trainparam.show=50;net。trainparam。lr=0.003;9(完整)基于matlab车牌的定位与分割识别程序net。trainparam.goal=0。0000000001;net=init(net);%训练样本%net,tr=train(net,P,T);%测试%I=imread('DSC01323.jpg');I=imread('DSC01344。jpg');dw=location(l);%车牌定位PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=

17、StringSplit(dw);%字符分割及处理%测试字符,得到识别数值%PlN0=pretreatment(PlN0);PlN1=pretreatment(PlN1);PlN2=pretreatment(PlN2);PlN3=pretreatment(PlN3);PlN4=pretreatment(PlN4);PlN5=pretreatment(PlN5);PlN6=pretreatment(PlN6);P0=PlN0',PlN1',PlN2',PlN3',PlN4',PlN5',PlN6'fori=2:7T0=sim(net,P0(:,i);T1=compet(T0);d=find(T1=1)-1if(d=10)str='A'elseif(d=11)str='C';elseif(d=12)str='G'elseif(d=13)str='L';elseif(d=14)str='M'(完整)基于matlab车牌的定位与分割识别程序elseif(d=15)str='R'elseif(d=16)str='H'elseif(d=17)str

温馨提示

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

评论

0/150

提交评论