www.gusucode.com > Adaboost算法训练人脸图像和非人脸图像,通过迭代得到由多个弱分类器组合而成的强分类器,实现图片里的人脸检测。 > Adaboost算法训练人脸图像和非人脸图像,通过迭代得到由多个弱分类器组合而成的强分类器,实现图片里的人脸检测。/myfacedet02/tezhen21.m

    function F= tezhen21(ii)
minw = 2; %最小宽              
minh = 1; %最小高               
%%是那种1×2的模板 
aw=1; %伸缩倍率,w方向
ah=1; %伸缩倍率,h方向
F=[];
F1=[];
w=minw;
h=minh;
[row,col]=size(ii);
while(minh*ah<=row)    
    while(minw*aw<=col)
        for i=1:row-h
            for j=1:col-w
             %   white = ii(i+h/2,j+w)-ii(i+h/2,j)-ii(i,j+w)+ii(i,j);
              %  black =ii(i+h,j+w)-ii(i+h,j)-ii(i+h/2,j+w)+ ii(i+h/2,j);
              white=ii(i+h,j+w/2)-ii(i+h,j)-ii(i,j+w/2)+ii(i,j+w/2);
              black=ii(i+h,j+w)-ii(i+h,j+w/2)-ii(i,j+w)+ii(i,j+w/2);
                %black=6-5-3+2            
                %write=5-4-2+1
                %
                %1->ii(i,j+w/2)
                %2->ii(i,j+w/2)
                %3->ii(i,j+w)
                %4->ii(i+h,j)
                %5->ii(i+h,j+w/2)
                %6->ii(i+h,j+w)
                F1((i-1)*(col-w)+j)=white-black;
             %   no=(i-1)*(col-w)+j;
              %  disp(i);disp('*');disp(j);
              %  disp(no);
            end
        end
        F=[F,F1];
        F1=[];
        aw=aw+1;
        w=minw*aw;
    end
    ah=ah+1;
    h=minh*ah;
    w=minw; %复位
    aw=1;   %复位
end
%---------------------------------------------------------------------------------------------
%对于图中B的矩阵特征
%传进来的参数是一个积分图啦,当然也可以是一幅图了哈哈