人脸图像的格式转化

由pgm格式转换为png格式

     下载的ORL人脸数据库,人脸图像为pgm格式,不便浏览,使用matlab对其进行格式转化,如下

转换前:

人脸图像的格式转化_第1张图片

人脸图像的格式转化_第2张图片

转换后:

人脸图像的格式转化_第3张图片

人脸图像的格式转化_第4张图片

转换原理:

以某一副人脸图为例,以字符串的形式设置好待转换图像的地址,在Matlab中读入;以字符串的形式设置好转换后图像的存储地址,以png格式输出;整个人脸库的转换相当于再多嵌套两层循环。  (原理其实是废话,当我没说)

转换代码:

clear all; clc;close all;
path0=uigetdir('C:\Users\Administrator\Desktop\FaceDB_orl');
% 40个对象,每个对象10副图像
P=40;
PN=10;
for i=1:P
    % 下面的两个if语句为统一输出文件格式
    if i<10
        i0=strcat('0','0',int2str(i));
    else
        i0=strcat('0',int2str(i));
    end
    path1=strcat(path0,'\s',int2str(i));
    for j=1:PN
        %
        if j<10
            j0=strcat('0',int2str(j));
        else
            j0=int2str(j);
        end
        path2=strcat(path1,'\',int2str(j));
        Im=imread(path2,'pgm');
        path3=[path0,'\',i0,'\',j0,'.png'];
        imwrite(Im,path3,'png');
    end
end



你可能感兴趣的:(人脸图像的格式转化)