matlab车牌定位与识别,基于matlab车牌的定位与分割识别程序概要

《基于matlab车牌的定位与分割识别程序概要》由会员分享,可在线阅读,更多相关《基于matlab车牌的定位与分割识别程序概要(16页珍藏版)》请在人人文库网上搜索。

1、基于Matlab的车牌定位与分割经典算法I=imread(car.jpg); %读取图像figure(); subplot(3,2,1),imshow(I), title(原始图像);I1=rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title(灰度图像);I2=edge(I1,robert,0.09,both);%采用robert算子进行边缘检测subplot(3,2,3),imshow(I2),title(边缘检测后图像);se=1;1;1; %线型结构元素 I3=imerode(I2,se); %腐蚀图像subplot(3,2,4),ims。

2、how(I3),title(腐蚀后边缘图像);se=strel(rectangle,25,25); 矩形结构元素I4=imclose(I3,se);%图像聚类、填充图像subplot(3,2,5),imshow(I4),title(填充后图像);I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I5),title(形态滤波后图像);y,x,z=size(I5);I6=double(I5);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)=1) Y1(i,1)= Y1(i,1)+1;。

3、 end end endtemp MaxY=max(Y1);figure();subplot(3,2,1),plot(0:y-1,Y1),title(行方向像素点灰度值累计和),xlabel(行值),ylabel(像素); %求的车牌的行起始位置和终止位置PY1=MaxY;while (Y1(PY1,1)=50)&(PY11)PY1=PY1-1;end PY2=MaxY;while (Y1(PY2,1)=50)&(PY2PX1)PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:); subplot(3,2,3),im。

4、show(dw),title(定位剪切后的彩色车牌图像)4.2 车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像。if isrgb(I)I1 = rgb2gray(I); %将RGB图像转化为灰度图像else I1=I; endg_max=double(max(max(I1);g_min=double(min(min(I1);T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值m,n=size(I1);% d:二值图像%h=graythresh(I1);I1=im2bw(I1,T/256);subplot(3,2,4);ims。

5、how(I1),title(二值化车牌图像);I2=bwareaopen(I1,20);subplot(3,2,5);imshow(I2),title(形态学滤波后的二值化图像);y1,x1,z1=size(I2);I3=double(I2);TT=1;%去除图像顶端和底端的不感兴趣区域%Y1=zeros(y1,1);for i=1:y1for j=1:x1if(I3(i,j,1)=1) Y1(i,1)= Y1(i,1)+1 ;end end endPy1=1;Py0=1;while (Y1(Py0,1)=20)&(Py1=3)&(Px1x1)|(Px1-Px0)10)Px1=Px1+1;en。

6、dZ=I2(:,Px0:Px1,:);switch strcat(Z,num2str(i)case Z1PIN0=Z;case Z2PIN1=Z;case Z3PIN2=Z;case Z4PIN3=Z;case Z5PIN4=Z;case Z6PIN5=Z;otherwise PIN6=Z;endfigure(3);subplot(1,7,i);imshow(Z);Px0=Px1;Endfunction inpt = pretreatment(I)%YUCHULI Summary of this function goes here% Detailed explanation goes her。

7、eif isrgb(I)I1 = rgb2gray(I);elseI1=I;endI1=imresize(I1,50 20);%将图片统一划为50*20大小I1=im2bw(I1,0.9);m,n=size(I1);inpt=zeros(1,m*n);%将图像按列转换成一个行向量for j=1:nfor i=1:minpt(1,m*(j-1)+i)=I1(i,j);endend%神经网络进行识别。close all;clear all;%归一化训练样本%I0=pretreatment(imread(0.jpg);I1=pretreatment(imread(1.jpg);I2=pretreat。

8、ment(imread(2.jpg);I3=pretreatment(imread(3.jpg);I4=pretreatment(imread(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=pretreatment(imread(C.jpg);I12=pretr。

9、eatment(imread(G.jpg);I13=pretreatment(imread(L.jpg);I14=pretreatment(imread(M.jpg);I15=pretreatment(imread(R.jpg);I16=pretreatment(imread(H.jpg);I17=pretreatment(imread(N.jpg);P=I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15,I16,I17;%输出样本%T=eye(18,18);%bp神经网络参数设置net=newff(minmax(P),1000,32,1。

10、8,logsig,logsig,logsig,trainrp);net.inputWeights1,1.initFcn =randnr;net.layerWeights2,1.initFcn =randnr;net.trainparam.epochs=5000;net.trainparam.show=50;%net.trainparam.lr=0.003;net.trainparam.goal=0.;net=init(net);%训练样本%net,tr=train(net,P,T);%测试%I=imread(DSC01323.jpg);I=imread(DSC01344.jpg);dw=loc。

11、ation(I);%车牌定位PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=StringSplit(dw);%字符分割及处理%测试字符,得到识别数值%PIN0=pretreatment(PIN0);PIN1=pretreatment(PIN1);PIN2=pretreatment(PIN2);PIN3=pretreatment(PIN3);PIN4=pretreatment(PIN4);PIN5=pretreatment(PIN5);PIN6=pretreatment(PIN6);P0=PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6;for i=2:。

12、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;elseif (d=15)str=R;elseif (d=16)str=H;elseif (d=17)str=N;elsestr=num2str(d);endswitch icase 2str1=str;case 3str2=str;case 4str3=str;case 5str4=str;case 6str5=str;otherwisestr6=str;endend %显示定位后的分割出的车牌彩图,%识别结果以标题形式显示在图上%s=strcat(渝,str1,str2,str3,str4,str5,str6); figure();imshow(dw),title(s);非诚勿扰 欢迎下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值