PDA

查看完整版本 : [求助]牌照识别系统


wangbo_19860519
2008-04-23, 16:06
小弟做牌照识别,看到这个源程序,不过只能用于那一个图片,自己的图片都定位不了牌照的位置。
麻烦各位高手帮我看看,图像需要哪些预处理才可以做到用下面代码识别出来:cool:
代码如下:
function lpr_loc()
% license plate recognition - car plate location based on color model
% modified by ZHAO Hui, April 30th,2005
I=imread('Car.jpg');
[y,x,z]=size(I);
myI=double(I);
%%%%%%%%%%% RGB to HSI %%%%%%%%
tic % 测定算法执行的时间,开始计时

%%%%%%%%%%% 统计分析 %%%%%%%%%%%%%%%
%%%%%%%% Y 方向 %%%%%%%%%%
Blue_y=zeros(y,1);
for i=1:y
for j=1:x
if((myI(i,j,1)<=121)&&myI(i,j,1)>=110&&((myI(i,j,2)<=155)&&(myI(i,j,2)>=141))&&((myI(i,j,3)<=240)&&(myI(i,j,3)>=210)))
% 蓝色RGB的灰度范围
Blue_y(i,1)= Blue_y(i,1)+1; % 蓝色象素点统计
end
end
end
[temp MaxY]=max(Blue_y); % 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(PY1Y2,:,;

%%%%%%%% X 方向 %%%%%%%%%%
Blue_x=zeros(1,x); % 进一步确定X方向的车牌区域
for j=1:x
for i=PY1Y2
if((myI(i,j,1)<=121)&&myI(i,j,1)>=110&&((myI(i,j,2)<=155)&&(myI(i,j,2)>=141))&&((myI(i,j,3)<=240)&&(myI(i,j,3)>=210)))
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(PY1Y2,PX1-2X2,;
t=toc % 读取计时
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure,imshow(I);
figure,plot(Blue_y);grid
figure,plot(Blue_x);grid
figure,imshow(IY);
figure,imshow(Plate);

wangbo_19860519
2008-04-23, 16:08
补充一下:我觉得那个图片经过压缩了,并且他的牌照区域的RGB值和我照的都不一样。
不知道怎么处理才能用这个代码……
这里是源程序和图片,图片要转成JPG格式的,谢谢高手指点了
595

lingyu
2008-04-25, 09:39
补充一下:我觉得那个图片经过压缩了,并且他的牌照区域的RGB值和我照的都不一样。
不知道怎么处理才能用这个代码……
这里是源程序和图片,图片要转成JPG格式的,谢谢高手指点了
595

哥儿们知道你们班有没有做车型识别的,给介绍一下,我帮你联系牌照识别的怎么样?你哪个学校的?我QQ375414317:lol: 期待回音

wangbo_19860519
2008-04-28, 09:27
哥儿们知道你们班有没有做车型识别的,给介绍一下,我帮你联系牌照识别的怎么样?你哪个学校的?我QQ375414317:lol: 期待回音

我是北京工商大学的,我们就我一个做关于matlab这方面的东西,别人都不做,实在不好意思……:cry: