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

    clc;clear all;
%---------------------------------------------------------------------------------------------
%对于图中B的矩阵特征
%传进来的参数是一个积分图啦,当然也可以是一幅图了哈哈
%function F = tezhen1(ii)
minw = 1; %最小宽              
minh = 2; %最小高               
%%是那种1×2的模板 
aw=1; %伸缩倍率,w方向
ah=1; %伸缩倍率,h方向
F=[];
F1=[];
w=minw;
h=minh;
%[row,col]=size(ii);
row=4,col=4
% ii=zeros(4,4);
% [y,x]=size(ii);
% for i=1:y
%     for j=1:x
%         ii(i,j)=1;
%     end
% end
% ii
% [row,col]=size(ii);
% ii=[zeros(1,col+1);[zeros(row,1),ii]];
ii=zeros(4,4);
[y,x]=size(ii);
for i=1:y
    for j=1:x
        ii(i,j)=1;
    end
end
disp('补零之前:');
ii
[row,col]=size(ii);
ii=[zeros(1,col+1);[ii,zeros(row,1)]];
disp('补零之后:');
ii
[row,col]=size(ii);
% zeros(1,col+1)
% 0 0 0 0 0
% [zeros(row,1),ii]
% 0
% 0
% 0
% 0
% ii=[zeros(1,col+1);[zeros(row,1),ii]];
% 0 0 0 0 0
% 0 1 1 1 1
% 0 1 1 1 1
% 0 1 1 1 1
% 0 1 1 1 1
disp('补零后');
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);
                F1((i-1)*(col-w)+j)=white-black;
                no=(i-1)*(col-w)+j;
                ii
                 disp(i);disp('*');disp(j);
                 disp('minh*ah:');
                 disp(minh*ah);
                 disp('minw*aw:');
                 disp(minw*aw);
                 disp(no);
               disp('++++++++++++++++++++++++++');
            end
        end
        F=[F,F1];
        F1=[];
        aw=aw+1;
        w=minw*aw;
    end
    ah=ah+1;
    h=minh*ah;
    w=minw; %复位
    aw=1;   %复位
end