回 帖 发 新 帖 刷新版面

主题:请各位帮忙~急~

小弟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

回复列表 (共1个回复)

沙发

你好
  我现在也在做有关MATLAB的车牌定位分割设计(车牌定位和字符分割)。。不知道楼主是否还保留程序。。如果有的话,请发我一分好嘛。。我的邮箱:sallie_219@126.com  谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册