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

来源:互联网 发布:汽车里程表调校软件 编辑:程序博客网 时间:2024/06/10 20:09

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人脸库(原始)



AR人脸库(改写后)


0 0
原创粉丝点击