www.pudn.com > GaitRecognition.rar > resize.asv, change:2012-11-03,size:3399b


% clear; 
% clc; 
% tic; 
% setPath; 
%  
% maxWidth=0;%初始化图像宽度 
% cd(dataBasePath);%进入数据目录,包含若干人的步态序列 
% dataBaseDir=dir('.'); 
% for xPerson=3:length(dataBaseDir)%遍历所有文件夹 
%     cd(dataBaseDir(xPerson).name);%进入某人的步态序列目录 
%      
%     %xPersonDir=dir('.'); 
%     for x_condition=1:5:50-4 
%         cd([pwd '\' xCondition(x_condition:x_condition+4)]);%进入一个条件下的序列目录 
%         cd([pwd '\' xAngle]);%进入90°视角的目录        
%          
%         allImages=dir('*.png'); 
%         picSize=size(imread(allImages(1).name)); 
%         for xImage=1:length(allImages)          
%             rawPIC=imread(allImages(xImage).name);%读进图像 
%             x=1; 
%             y=1; 
%             while(rawPIC(x,y)==0) 
%                 if x>=picSize(1) 
%                     x=0; 
%                     y=y+1; 
%                 end 
%                 x=x+1; 
%             end 
%             leftx=y;%找到left点即退出 
%  
%             x=1; 
%             y=picSize(2); 
%             while(rawPIC(x,y)==0) 
%                 if x>=picSize(1) 
%                     x=0; 
%                     y=y-1; 
%                 end 
%             x=x+1; 
%             end 
%             rightx=y;%找到bottom点即退出 
%  
%             picResize=rawPIC(40:picSize(1)-40,leftx:rightx);%重构后的图像  
%              
%             if maxWidth<size(picResize,2) 
%                 maxWidth=size(picResize,2);%pic为需要测量的图片,maxWidth保存着当前图片的最大宽度 
%             end 
%  
%             %保存图片 
%           % imwrite(picResize,[strrep(pwd,dataBasePath,normalizationPath) '\' allImages(xImage).name],'png');   
%         end 
%         cd ..%从90°视角目录往上一层  
%    cd ..%从一个条件下的序列目录往上一层  
%    end 
% cd ..%从某人步态序列目录往上一层 
% end;% 
% cd(rootPath); 
% disp('normalization time:'); 
% toc; 
 
% clear; 
% clc; 
% tic; 
% setPath; 
maxWidth=93;%由上面计算所得 
tic; 
cd(normalizationPath);%进入数据目录,包含若干人的步态序列 
normalizationDir=dir('.'); 
for xPerson=3:length(normalizationDir)%遍历所有文件夹 
    cd(normalizationDir(xPerson).name);%进入某人的步态序列目录 
    for x_condition=1:5:50-4 
        cd([pwd '\' xCondition(x_condition:x_condition+4)]);%进入一个条件下的序列目录 
        cd([pwd '\' xAngle]);%进入90°视角的目录        
         
        List=dir('*.png'); 
        frameWidth=zeros(1,length(List));%用来保存每一张图的宽度 
        for i=1:length(List) 
            picSize=size(imread(List(i).name)); 
            frameWidth(1,i)=picSize(2); 
        end 
 
        for iResize=1:length(List)  
            if mod(maxWidth-frameWidth(iResize),2)==1%奇数 
                    addSpace=(maxWidth-frameWidth(iResize)+1)/2; 
                    resizePic=[zeros(picSize(1),addSpace),imread(List(iResize).name),zeros(picSize(1),addSpace-1)]; 
            else 
                    addSpace=(maxWidth-frameWidth(iResize))/2; 
                    resizePic=[zeros(picSize(1),addSpace),imread(List(iResize).name),zeros(picSize(1),addSpace)]; 
            end 
 
            imwrite(resizePic,[strrep(pwd,[rootPath 'normalization\'],resizePath) '\' List(iResize).name],'png'); 
        end 
         
        cd ..%从90°视角目录往上一层  
        cd ..%从一个条件下的序列目录往上一层  
   end 
cd ..%从某人步态序列目录往上一层 
end;% 
toc; 
disp('resize time:'); 
clear;