AR人脸数据库pgm图片转换jpg,matlab实现程序

来源:互联网 发布:httprequest 获取mac 编辑:程序博客网 时间:2024/06/08 06:36

AR人脸库(美国):(下载2600张)Purdue 大学 126人的彩色照片 光照 尺度和表情变化 126 people over 4 000 color images

虽然不是原始人脸库,但基本上就是论文中用到的,对于重现实验很有帮助!!120*165的灰度图,是pgm格式,要自己转换成jpg或其他格式共100张,前50张是男性人脸,后50张是女性人脸每个目标有26张图片,前13张为场景1,后13张为场景2每个场景的13张图片中,第1张是中性图像,剩余的12张每3张对应一个变换:表情变化、光照变化、戴眼镜+光照变化、戴围巾+光照变化

在Matlab下,转换图片格式相对比较容易,本文以 pgm 转 jpg 为例,贴出示例程序:

 % 本示例程序将 /home/zya/AR/目录下面所有的 pgm 图片转换为 jpg 图片   
    % 如果仅对一张 pgm 图片作格式转换,请直接看 核心代码 部分。  
    function [  ] = pgm2jpg(  )  
      
     % 读取指定目录下面所有的 pgm 格式图片  
     pgms = dir('/home/zya/AR/*.pgm');  
     num_pgms = length( pgms );  
     for i = 1 : num_pgms  
       pgm_file = fullfile( '/home/zya/AR' , pgms(i).name );  
       pgm      = imread( pgm_file );  
         
       %%% 核心代码:将 pgm_file 转换为 jpg 格式图片,并保存. %%%  
      
      % 第一步,解析文件名 pgm_file ,注意,pgm_file 包括路径+文件名+后缀,如 pgm_file = '/home/zya/AR.pgm'  
       % path = '/home/zya/AR'  name = 'AR' ext = '.pgm'  
       [ path , name , ext ] = fileparts( pgm_file ) ;  
      
      % 第二步,生成新的文件名  
       filename = strcat( name , '.jpg' );  
      
      % 第三步,生成文件全称  
       jpg_file = fullfile( '/home/zya/jpgs/' , filename ) ;  
      
      % 第四步,将 pgm 以 jpg_file 作为文件名,保存为 jpg 格式.  
      imwrite( pgm , jpg_file , 'jpg' );  
      
     end  
      
    end 

关键函数: imwrite( Image , filename , format ),将 Image以 format 指定的格式保存,文件名称为 filename(相对路径或绝对路径都可以)

用python转换可以参考http://www.cnblogs.com/whu-zeng/p/5999440.html

0 0
原创粉丝点击