MATLAB识别车牌

MATLAB识别车牌

I=imread('车牌.jpg');
[y,x,z]=size(I);
myI=double(I);
tic;
Blue_y=zeros(y,1);
for i=1:y;
for j=1:x;
if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)));
Blue_y(i,1)=Blue_y(i,1)+1;
end
end
end
[temp MaxY]=max(Blue_y);
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);
Blue_x=zeros(1,x);
for j=1:x;
for i=PY1:PY2;
if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3)>=119)));
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-2;
PX2=PX2+2;
Plate=I(PY1:PY2,PX1-2:PX2);
t=toc;
figure,imshow(I);
figure,plot(Blue_y);
figure,plot(Blue_x);
figure,imshow(Plate);
t=0.5630;

首先这个算法中使用的前提是蓝色的背景的车牌,对于白色和黄色为背景颜色的车牌识别效果很差,所以这里可以使用边缘检测的方法对于车牌的位置进行寻找。课程设计不仅是对数字图像处理这门课所学知识的一种检验,而且也是对自己能力的一种提高。通过这次课程设计使我对模式识别有了更深入的认识。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值