主题:请各位帮忙~急~
小弟MATLAB刚入门不久,在做基于MATLAB的车牌定位分割,下面这段程序是用投影法做的车牌区域定位程序(在网上找的),想请大家帮帮忙翻译一下,谢谢。下面看不懂的地方我在右方标注,希望各位可以帮帮忙解答一下,万分感激~
I5=imread('13.jpg');
[y,x,z]=size(I5);
myI=I5;
whitr_y=zeros(y,1);
for i=1:y
for j=1:x
if(myI(i,j,1)==1) 出 % 这句有点不懂,为什么myI(i,j,1)==1就是表示白色点?
whitr_y(i,1)=whitr_y(i,1)+1; % 因为上面检测到是白点,所以累加吧?
%这里的意思是这样吗?
end
end
end
[temp MaxY]=max(whitr_y); % 这句是完全看不懂,这句是什么意思??
%前面部分[temp MaxY],temp表示什么?
%MaxY又表示什么?
PY1=MaxY; % 与上一句关联,看不懂,请大家帮忙解释一下。
while ((whitr_y(PY1,1)>=5)&&(PY1>1)) % 这里开始看不懂了。
PY1=PY1-1; % 同上一句
end % 同上一句
PY2=MaxY; % 同上一句
while ((whitr_y(PY2,1)>=5)&&(PY2<5)) % 同上一句
PY2=PY2+1; % 同上一句
end % 同上一句
IY=I(PY1:PY2,:,:); % 这里后面那两个:是什么意思啊?请帮帮忙解释一下。
whitr_x=zeros(1,x); % 剩下的基本上与前面重复,只是参数有一点改动,
%希望各位帮忙解释前面的问题
for j=1:x
for i=PY1:PY2
if(myI(i,j,1)==1)
whitr_x(1,j)=whitr_x(1,j)+1;
end
end
end
PX1=1;
while ((whitr_x(1,PX1)<3)&&(PX1<x))
PX1=PX1+1;
end
PX2=x;
while ((whitr_x(1,PX2)<3)&&(PX2>PX1))
PX2=PX2-1;
end
Plate=I(PY1:PY2,PX1:PX2,:);
imshow(Plate)
end
I5=imread('13.jpg');
[y,x,z]=size(I5);
myI=I5;
whitr_y=zeros(y,1);
for i=1:y
for j=1:x
if(myI(i,j,1)==1) 出 % 这句有点不懂,为什么myI(i,j,1)==1就是表示白色点?
whitr_y(i,1)=whitr_y(i,1)+1; % 因为上面检测到是白点,所以累加吧?
%这里的意思是这样吗?
end
end
end
[temp MaxY]=max(whitr_y); % 这句是完全看不懂,这句是什么意思??
%前面部分[temp MaxY],temp表示什么?
%MaxY又表示什么?
PY1=MaxY; % 与上一句关联,看不懂,请大家帮忙解释一下。
while ((whitr_y(PY1,1)>=5)&&(PY1>1)) % 这里开始看不懂了。
PY1=PY1-1; % 同上一句
end % 同上一句
PY2=MaxY; % 同上一句
while ((whitr_y(PY2,1)>=5)&&(PY2<5)) % 同上一句
PY2=PY2+1; % 同上一句
end % 同上一句
IY=I(PY1:PY2,:,:); % 这里后面那两个:是什么意思啊?请帮帮忙解释一下。
whitr_x=zeros(1,x); % 剩下的基本上与前面重复,只是参数有一点改动,
%希望各位帮忙解释前面的问题
for j=1:x
for i=PY1:PY2
if(myI(i,j,1)==1)
whitr_x(1,j)=whitr_x(1,j)+1;
end
end
end
PX1=1;
while ((whitr_x(1,PX1)<3)&&(PX1<x))
PX1=PX1+1;
end
PX2=x;
while ((whitr_x(1,PX2)<3)&&(PX2>PX1))
PX2=PX2-1;
end
Plate=I(PY1:PY2,PX1:PX2,:);
imshow(Plate)
end