MATLAB 批量修改图片后缀名并保存在指定的位置

% 本示例程序将 G:\fiber_sample\crop_images\目录下面所有的 pgm 图片转换为 jpg 图片 
% 如果仅对一张 pgm 图片作格式转换,请直接看核心代码部分。
function [  ] = pgm2jpg(  )
 
 % 读取指定目录下面所有的 pgm 格式图片
 pgms = dir('G:\fiber_sample\crop_images\*.pgm');
 %num_pgms = length( pgms );
 for i = 9001 : 10000
   pgm_file = fullfile( 'G:\fiber_sample\crop_images\' , pgms(i).name );
   pgm      = imread( pgm_file );
   
%%% 核心代码:将 pgm_file 转换为 jpg 格式图片,并保存. %%%
 
% 第一步,解析文件名 pgm_file ,注意,pgm_file 包括路径+文件名+后缀,如 pgm_file = 'H:\me的论文\其他\另一个数据\lfwcrop_grey\lfwcrop_grey\faces\test'
% path = 'C:\Users\kitty\test'  name = 'test' ext = '.pgm'
[path,name,ext ] = fileparts( pgm_file ) ;%将文件分割成路径,文件名,后缀名
 
% 第二步,生成新的文件名
filename = strcat( name,'.bmp' );%strcat(str,ptr)将str与普ptr组合,相当于python中的os.path.join函数
 
% 第三步,生成文件全称
bmp_file = fullfile( 'G:\fiber_sample\data\test\img' , filename ) ;
 
% 第四步,将 pgm 以 jpg_file 作为文件名,保存为 jpg 格式.
 imwrite( pgm , bmp_file , 'bmp' );
 
end
 
end