1、索引映像
索引映像包括一個資料矩陣X,一個顏色映像矩陣Map。其中Map是一個包含三列、若干行的資料陣列,其中每個元素的值均為[0, 1]之間的雙精確度浮點型資料。Map矩陣的每一行分別表示紅色、綠色和藍色的顏色值。在MATLAB中,索引映像是從像素值到顏色映射表值的“直接映射”。像素顏色由資料矩陣X作為索引指向矩陣Map進行索引,例如,值1指向矩陣Map中的第一行,值2指向第二行,以此類推。
(complement:X矩陣資料時整數,含有多少個整數,Map就有幾行,因為X矩陣的數字(加入是7)就是對應Map矩陣第幾行(第七行))
顏色映射表通常和索引映像存在一起,當使用者在調用函數imread時,MATLAB自動將顏色映射表與映像同時載入,在MATLAB中可以選擇所需要的顏色映射表,而不必局限於使用預設的顏色映射表。我們可以使用屬性CDataMapping來選取其他的顏色映射表,包括使用者自訂的顏色映射表。
如果映像資料矩陣是雙精確度的資料類型,則值1指向矩陣Map中的第一行,值2指向第二行;
如果映像矩陣是8位無符號的整數類型或16位無符號的整數類型,則由於存在一個位移量,因而使值0指向矩陣Map中的第一行,以此類推。
example:顯示一幅索引映像:
[X, map] = imread(‘canoe.tif’);
image(X);
colormap(map);
2、灰階映像
在MATLAB中,一幅灰階映像是一個資料矩陣I,I中的資料均代表了在一定範圍內的映像灰階值。MATLAB把灰階映像儲存為一個資料矩陣,該矩陣中的元素分別代表了映像中的像素。矩陣中的元素可以是雙精確度的浮點類型、8位或16位無符號的整數類型。大多數情況下,灰階映像很少和顏色映射表一起儲存,但是在顯示灰階映像時,MATLAB仍然在後台使用系統預定義的預設灰階顏色映射表。
example:用imagesc函數及colormap函數顯示一幅灰階映像
I = imread(‘moon.tif’);
imagesc(I, [0 256]);
colormap(gray); %原映像經灰階縮放以後顯示的灰階映像。
3、RGB映像
RGB映像即真彩映像,在MATLAB中儲存為n*m*3的資料矩陣。數組中的元素定義了映像中的每一個像素的紅、綠、藍顏色值。需指出的是,RGB映像不是用windows的顏色映射表,像素的顏色由儲存在像素位置上的紅、綠、藍的灰階值的組合來確定。圖形檔案格式把RGB映像儲存為24位的映像,紅、綠、藍分別佔8位,這樣可以有1000多萬種顏色。
4、二值映像
與灰階映像相同,二值映像只需要一個資料矩陣,每個像素只取兩個灰階值0和1