如何在matlab里编程实现bmp到pgm格式的转换

参考博客

最近在看人脸识别的相关文献时,需要用到人脸图像的.pgm格式,手上有个人脸图像的.bmp格式库,怎样在matlab里编程实现图像格式的转换呢?
在matlab里,转换图片格式相对比较容易,本文以 .bmp 转 .pgm 为例,贴出示例程序:

%--------------------------2017-4-19----------------------%
% 在当前工作环境下,本示例程序将 .\ORL人脸数据库\s1 目录下面所有的
% .bmp 图片转换为 .pgm 图片   

function[ ] = bmp2pgm( )  

 %读取指定目录下面所有的 bmp 格式图片  
 bmps = dir('.\ORL人脸数据库\s1\*.bmp');  
 num_bmps = length( bmps );  

 for i = 1 : num_bmps  
   bmp_file = fullfile( '.\ORL人脸数据库\s1\' , bmps(i).name );  
   bmp = imread(bmp_file);  

  % 第一步,解析文件名 bmp_file,bmp_file包括路径+文件名+后缀,
  % 如 bmp_file = '.\ORL人脸数据库\s1\1.bmp'  

  % path = '.\ORL人脸数据库\s1'  name = '1' ext = '.bmp'  
   [ path , name , ext ] = fileparts( bmp_file ) ;  

  % 第二步,生成新的文件名  
   filename = strcat( name , '.pgm' );  

  % 第三步,生成文件全称  
   pgm_file = fullfile( '.\ORL人脸数据库\s1\' , filename ) ;  

  % 第四步,将 bmp 以 pgm_file 作为文件名,保存为 pgm 格式。 
  imwrite( bmp , pgm_file , 'pgm' );  

 end  

end 

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