(1)二進制圖
在二進制圖中,像素的取值為兩個離散數值0或1中的一個,0代表黑色,1代表白色
例
A=[0 0 1;1 1 0; 0 0 1];
>> imshow(A,'InitialMagnification','fit') %調整合適的窗口顯示A。
(2)索引圖
索引圖像包括一個數據矩陣X,一個顏色映像矩陣Map。其中Map是一個包含三列、若干行的數據陣列,其中每個元素的值均為[0, 1]之間的雙精度浮點型數據。Map矩陣的每一行分別表示紅色、綠色和藍色的顏色值。在MATLAB中,索引圖像是從像素值到顏色映射表值的“直接映射”。像素顏色由數據矩陣X作為索引指向矩陣Map進行索引,例如,值1指向矩陣Map中的第一行,值2指向第二行,以此類推。
索引圖像的作用就是體積小,方便傳輸,只需要把索引表傳輸過去,接收方用對應的RGB顏色表還原就行。
(3)灰度圖
灰度圖通常由一個unit8、unit16、單精度類型或者雙精度類型的數組描述,其實質是一個數據矩陣I,該矩陣中的數據均代表了一定范圍內的灰度級,每一個元素與圖像的一個像素點相對應,通常0代表黑色,1、255或65635(為數據矩陣的取值范圍上限)代表白色。
(4)RGB圖
RGB圖像又稱為真彩圖像,它使用R、G、B 3個分量標識一個像素的顏色,R、G、B分別代表紅、綠、藍3種不同的基礎顏色,通過3基色可以合成出任意顏色。所以對一個尺寸nxm的彩色圖像來說,MATLAB中則存儲為一個nxmx3 的多維數據數組,其中數組中的元素定義了圖像中每一個像素的紅、綠、藍顏色值。圖形文件格式把RGB圖像存儲為24位的圖像,紅、綠、藍分量分別占用8位,因而理論上可以有2^24種顏色。
1 clear;clc; 2 A=imread('D:\mycode\matlab-test\0.jpg'); 3 subplot(2,2,1); 4 imshow(A); 5 title('原圖'); 6 7 %RGB圖轉化為灰度圖 8 l=rgb2gray(A); 9 subplot(2,2,2); 10 imshow(l); 11 title('灰度圖'); 12 13 %灰度圖轉化為索引圖 14 [X,map]=gray2ind(l); 15 subplot(2,2,3); 16 imshow(X); 17 title('灰度圖轉化為索引圖的X矩陣'); 18 19 %灰度圖轉化為索引圖的X矩陣 20 subplot(2,2,4); 21 imshow(map); 22 title('灰度圖轉化為索引圖的調色板圖map');
1 %--------------------------------------------------- 2 3 clear;clc; 4 B=imread('D:\mycode\matlab-test\1.jpg'); 5 subplot(2,2,1); 6 imshow(B); 7 title('原圖'); 8 9 %RGB圖轉化為索引圖 10 [X,map]=rgb2ind(B,256); 11 subplot(2,2,2); 12 imshow(X); 13 title('RGB圖轉化為索引圖中的X矩陣'); 14 15 %索引圖轉化為索引圖的X矩陣 16 subplot(2,2,3); 17 imshow(map); 18 title('RGB圖轉化為索引圖中的調色板map'); 19 20 %索引圖轉化為灰度圖 21 l=ind2gray(X,map); 22 subplot(2,2,4); 23 imshow(l); 24 title('索引圖轉化為灰度圖');