MATLAB 的 imread 指令可用於讀取影像檔案,而 imwrite 則可用於寫入影像檔案。這兩個指令可以處理的影像格式有下列幾種:
影像檔案格式 | 副檔名 | 相關字串
|
---|
微軟視窗的 Bitmap | bmp | 'bmp'
|
階層式資料格式 (Hierarchical Data Format) | hdf | 'hdf'
|
Joint Photographic Expert Group | jpg 或 jpge | 'jpg' 或 'jpeg'
|
微軟視窗的 Paintbrush | pcx | 'pcx'
|
可攜式網路圖形 (Portable Network Graphics) | png | 'png'
|
標記式影像檔案格式 (Tagged Image File Format) | tiff | 'tif' 或 'tiff'
|
X視窗傾印 (X Windows Dump) | xwd | 'xwd'
|
圖形交換格式 (Graphic Interchange Format) | gif | 'gif'
|
imread 指令可以讀取上述格式的影像檔案,並進行必要之轉換,如下:
- 對於強度影像,imread 將資料以 uint8 的矩陣(大小為 m×n)傳回。
- 對於索引影像,imread 將資料以 uint8 的矩陣(大小為 m×n)傳回,並同時傳回一個雙精準的色盤矩陣,其每個元素值介於[0,1]。
- 對於全彩矩陣,imread 將資料以 uint8 的矩陣(大小為 m×n×3)傳回。
例如,imread 可讀出下列全彩影像:
imwrite 指令可將資料寫成影像檔如下:
上述最後一列敘述將會呼叫作業系統下的應用程式來開啟 myClown.jpg 檔案。(作業系統若是 Windows,則用來開啟 myClown.jpg 的應用程式很可能是 Windows 相片檢視器。)
imfinfo 指令可用於傳回影像檔案的各項資訊,而且對於不同的檔案格式,imfinfo 傳回的資訊項目可能有所不同,例如:
常見的欄位可說明如下:
- Filename:檔案名稱。
- FileModDate:檔案修改日期。
- FileSize:檔案大小。
- Format:檔案格式。
- Format Version:格式版本。
- Width:寬度(pixels)。
- Height:高度(pixels)。
- Bit Depth:每個像素的位元數(R,G,B 各 8bits,故為 24 bits)。
- Color Type:顏色格式(在此為全彩)。
- Format Signature:格式簽名。
- Comment:藏在此圖的註解文字。
讀者可將 clown 資料存入 BMP 檔案,再用 imfinfo 讀出其資訊,以比較其差異。
MATLAB程式設計:入門篇