matlab里实现AR人脸库2600张人脸图的分类处理

AR人脸库,包含50位男性和50位女性,每人26张共2600张图。

但是网上下载的AR人脸库并没有进行分类,而是2600张图在一个文件夹中,本示例在matlab里编程实现将2600张人脸图分类为编号为s1~s100的100类,每类26张人脸图,前50类为男性,后50类为女性。即每人归为一类,类中图片序号为1到26。程序示例如下:

function[ ] = imgClass( )  
 %----------------------2017-4-22--------------------------%
 %此函数实现将AR人脸库中的2600幅.pgm人脸图像以每人为一类分为100类
 %前50类为男性,后50位为女性
 %100类分别编号为s1~s100
 %类中每人的26幅图分别编号为1到26
 %其中AR人脸库位于当前路径.\AR人脸库\AR 下
 %----------------------2017-4-22--------------------------%
 
 %-读取指定目录下面所有的 .pgm 格式图片   
 pgms=dir('.\AR人脸库\AR\*.pgm');  
 num_pgms=length(pgms)/26;     %num_pgms为100,每人26张图,100个人
 
 %两重循环,外层1到100人,内层每人的26幅图
 for i = 1 : num_pgms
   myRoot=strcat('.\AR人脸库\AR\', strcat('s',num2str(i)));
   mkdir(myRoot);     %创建路径,s1-s100
   for j=1:26
   bmp_file = fullfile( '.\AR人脸库\AR\' ,pgms(26*(i-1)+j).name);  
   
   %循环读每一张图片
   pgm = imread(bmp_file); 
  
  %每类中生成新的文件名,1-26.pgm
   filename = strcat(num2str(j), '.pgm' );  
   pgm_file = fullfile(myRoot, filename); 
  
  % 将pgm格式图片以pgm_file为路径存在电脑硬盘上  
  imwrite( pgm ,pgm_file); 
   end
  
end 

 

AR人脸库(原始)

matlab里实现AR人脸库2600张人脸图的分类处理_第1张图片


AR人脸库(改写后)

matlab里实现AR人脸库2600张人脸图的分类处理_第2张图片

你可能感兴趣的:(图像处理,matlab)