實驗原理:
1. Matlab提供了4個基本的影像格式:
(1)指標(Indexed)影像:
指標格式的影像需要顏色映射(colormap)和影像資料兩個矩陣來儲存影像資料。顏色映射矩陣是用來儲存顏色資料的n×3矩陣,該矩陣每列儲存著R、G、B三原色的成分大小,所以每一列正好表示一種顏色,而的n值表示共有幾種顏色。而影像資料矩陣的值是記錄影像中每個點素是使用顏色映射的那一種顏色。
(2)亮度(Intensity)影像 :
亮度影像是一種灰階影像,在Matlab中使用一個矩陣記錄來記影像中每個點素的亮度值大小。
(3)二值(Binary)影像:
二值影像以”0”(代表暗),”1”(代表亮)來表示一個影像。
(4) RGB影像
紅、綠、藍(RGB)影像,是表示彩色影像的一個標準方式。在Matlab中若一個m × n大小的影像,則分別會有三個m × n的RGB矩陣來儲存這個影像的RGB資料。
2.影像檔案格式的轉換
原始格式 |
欲轉換的格式 |
使用的指令 |
Indexed image | Binary image | roicolor, roipoly, im2bw |
Indexed image | Intensity image | Ind2gray |
Indexed image | RGB image | Ind2rgb |
Intensity image | Binary image | edge, im2bw, roicolor, roiply |
RGB image | Indexed image | rgb2ind |
RGB image | Intensity image | rgb2gray |
RGB image | Binary image | Im2bw |
Binary image | Indexed image | gray2ind |
3. 影像檔案的讀取
(1) Graphics Interchange Format (GIF)
指令:gifread
功能:讀取GIF格式檔,然後轉成indexed影像。
例如:[X,map] = gifread(‘test.gif’);
(2) Tagged Image File Format (TIFF)
指令:tiffread
功能:讀取TIFF格式檔,並轉成RGB檔案格式。
例如:[r,g,b]=tiffread(‘test.gif’);
(3) BMP格式圖形檔
指令:bmpread
功能:讀取BMP格式檔,並轉成indexed格式。
4.影像檔案的讀取
指令:imshow
功能:imshow指令可以用來顯示不同格式的圖檔。
例如:顯示indexed影像可用imshow(X, map)
顯示一具有128灰階的亮度影像I可用imshow(I,128)。
顯示一RGB影像可用imshow(R,G,B)。