1. 程式人生 > >Matlab實現圖片格式轉換 pgm轉jpg等

Matlab實現圖片格式轉換 pgm轉jpg等

    在Matlab下,轉換圖片格式相對比較容易,本文以 pgm 轉 jpg 為例,貼出示例程式:

% 本示例程式將 C:\Users\kitty\test\目錄下面所有的 pgm 圖片轉換為 jpg 圖片 
% 如果僅對一張 pgm 圖片作格式轉換,請直接看 核心程式碼 部分。
function [  ] = pgm2jpg(  )

 % 讀取指定目錄下面所有的 pgm 格式圖片
 pgms = dir('C:\Users\kitty\test\*.pgm');
 num_pgms = length( pgms );
 for i = 1 : num_pgms
   pgm_file = fullfile( 'C:\Users\kitty\test\' , pgms(i).name );
   pgm      = imread( pgm_file );
   
   %%% 核心程式碼:將 pgm_file 轉換為 jpg 格式圖片,並儲存. %%%

  % 第一步,解析檔名 pgm_file ,注意,pgm_file 包括路徑+檔名+字尾,如 pgm_file = 'C:\Users\kitty\test\test.pgm'
   % path = 'C:\Users\kitty\test'  name = 'test' ext = '.pgm'
   [ path , name , ext ] = fileparts( pgm_file ) ;

  % 第二步,生成新的檔名
   filename = strcat( name , '.jpg' );

  % 第三步,生成檔案全稱
   jpg_file = fullfile( 'C:\Users\kitty\jpgs\' , filename ) ;

  % 第四步,將 pgm 以 jpg_file 作為檔名,儲存為 jpg 格式.
  imwrite( pgm , jpg_file , 'jpg' );

 end

end
  關鍵函式: imwrite( Image , filename , format ),將 Image以 format 指定的格式儲存,檔名稱為 filename(相對路徑或絕對路徑都可以)