【覺得這個啰嗦的,可以直接從下面的小標題開始看。】
很久以來,圖像采用了柵格式的數字化表示方式,可以預見這種表示方式還將持續很久。也有的人將這種表示方式稱作點陣(區別於點雲),它將圖像矩形划分成有限行和有限列的更小矩形區域,這樣的小矩形區域叫做像素。每個像素的顏色用一個或者一組數值表示,如果是灰度圖像(黑白圖像)用一個數值就夠了,下圖就是手寫數字8的黑白圖像,對於計算機來說就是一個二維數值矩陣,每一個不同顏色的像素都用不同的數值代表。注意,這個圖中的數值應該是用255減去真實數值后的結果,因為一般將灰度離散成256個等級,用8位無符號整數表示,數值越小越黑,數值越大越亮。

圖像的數字化表示
如果是彩色圖像需要用到三個數值,根據所選用的色彩模型不同,三個數分別代表不同的含義。如果是RGB色彩模型,三個數值分別表示紅、綠、藍三原色的強度;如果是HSV色彩模型,三個數值分別表示色調、飽和度、明度。如果是CMY色彩模型,三個數值分別表示青、品紅、黃三間色的強度。
CMY色彩模型在使用時通常還要加一個K,表示純黑色。因為CMY是印刷用的色彩模型,需要依靠反射某些色光調制顏色(青色顏料吸收紅光,品紅顏料吸收綠光,青色顏料和品紅顏料混合一起之后就只反射藍光了,就是調出了藍色)。由於顏料的問題,CMY混一起也調不出黑色,不得不專門加一個黑色墨盒。但是如果用CMY表示的數字圖像在顯示器上是能夠顯示出黑色的,因為所有發光的顯示設備都使用RGB色彩模型,將CMY表示的黑色轉到RGB就是(0,0,0),顯示器像素里的三原色發光模塊都不發光就是純黑色了。
除了色彩模型之外,要確定彩色圖像像素的實際顏色,還需要明確色彩空間。色彩空間是在色彩模型上定義的,色彩模型加上能把具體數值映射到實際顏色的函數就是色彩空間,如如sRGB和Adobe RGB。通常彩色圖像文件中也會存儲所用的色彩空間,如果不指定就會用當前顯示器默認的色彩空間去解釋顏色值,通常是sRGB色彩空間。sRGB色彩空間的色域比Adobe RGB小,也就是Adobe RGB中的某些顏色在sRGB中不存在。下圖展示了常用色彩空間轉換到CIE-XYZ色彩模型后的色域(在CIE-XYZ系統中占據的范圍)。
不同色彩空間的色域
實際上像素位置上的數值不一定表示顏色或者亮度,還可以表示紅外強度、溫度、降水量、高程等等。如果像素值不代表顏色和亮度,就不再是常規意義上的圖像了,像素值的取值范圍也不再局限在[0,255](也有些數碼相機拍攝到的原始圖像的R、G、B值都采用無符號16位整型存儲,其取值范圍根據相機傳感器的量化等級數量確定,可以取到的最大值大於255,通常小於2^16),存儲像元值得類型可以根據精度需求選擇浮點型或者更長的整型。如果要顯示出來,這些像元值還是需要映射到[0,255],然后組合成顯示設備要求的像元格式。
柵格數據可視化的定義
跳出顏色或者亮度的局限,圖像就是一種柵格數據,黑白圖像只用一個通道就夠了,是一種單通道的柵格數據;采用三分量色彩模型(RGB、HSV等)的彩色圖像有三個通道,是有三個通道的柵格數據。有些彩色圖像還有個alpha通道,這個通道沒有物理意義,僅在顯示時起作用,用於指定與背景顏色混合的比例。柵格數據的通道數量還可以更多,比如卷積神經網絡輸出的特征圖、多光譜影像、高光譜影像。彩色影像可以認為是傳感器對接收到的藍、綠、紅三個波段的強度的記錄,而多光譜影像除了記錄藍、綠、紅波段外,還記錄近紅外、遠紅外等波段。高光譜影像對波段的划分更細致,有可能將藍色光划分成十多個波段分別記錄。因此在遙感領域圖像的通道也叫做波段。
柵格數據中的數值,對人類來說難以直觀感受,在二維平面上只有將數值對應到顏色,把柵格數據顯示成彩色(灰度)圖像,以讓人能夠直觀感受到柵格上數值的區別。這種將柵格數據轉換成色彩進行顯示的手段叫做柵格可視化,根據像素值到顏色的轉換關系不同又分為不同的可視化方式。
灰度顯示
只需要一個數值就能表示灰度,灰度顯示可視化方式用於觀察柵格數據某一個波段內部數值的差異情況。灰度顯示是將波段的像元值按照設定的最大最小值線性映射到0-255然后直接當作亮度進行顯示。下圖是灰度顯示的設置,只需選擇要進行灰度顯示的通道,統計或者指定最大最小值。
進行灰度顯示的設置
下圖是對圖像處理領域著名的測試圖像(lena)的RGB以及真實的亮度L進行灰度顯示的結果,最右側為該測試圖像的原始彩色圖。這個圖像整體偏紅,所以R通道進行灰度顯示時整體偏亮。從B波段的灰度顯示結果可以看出頭發部位似乎有剮蹭痕跡,也許是掃描這副圖像的雜志用過很多次了吧。
lena圖像RGB和亮度分別進行灰度顯示的對比
RGB彩色合成顯示
如果要合成RGB色彩,需要三個波段。RGB彩色合成顯示用於觀察像元間三個波段綜合結果的差異。
進行RGB彩色顯示的設置
下圖是將某幅遙感影像的近紅外、綠、藍波段分別組合成RGB、BGR后的顯示效果。可植被區域分布偏紅和偏藍,因為植被在近紅外波段反射較強,其像元值較其他波段大。
特別說明:灰度顯示和RGB彩色合成顯示轉換后的結果與常規圖像無異,還可以針對顯示結果繼續進行顯示增強,如直方圖均衡、對比度增強等。
漸變色顯示
單純用灰度表示某個通道區分度可能不夠,或者不合理。此時可以定義具體的漸變色表,然后將像元值映射成漸變色表上對應位置的顏色進行顯示。
漸變色顯示的設置
下圖是將某幅色彩比較真實的遙感影像(真彩色合成后的)的色調計算出來,然后進行灰度顯示和按照純色環漸變色表進行漸變色顯示的效果。從圖中可以看出,在灰度顯示結果上都是紅色調的像素有的非常黑有的非常亮。
唯一值可視化(調色板可視化)
有些柵格數據的像元值用於對像元進行定性的描述,如某個像素是貓、是狗、是屬於圖斑A還是圖斑B等等。這種一般是分割分類的結果,需要為不同類別和不同圖斑指定差異較大的顏色,以便能明顯的觀察出像素的聚集結果。該種可視化方式為每一個可能的取值指定唯一的顏色,所以被稱作唯一值可視化。
唯一值可視化的顯示設置
下圖是某個算法分割結果分別用灰度可視化和唯一值可視化的效果。可以看出用唯一值可視化時,分割圖斑更加清晰。
實現這些可視化功能的軟件完全開源的,感興趣的可以自行下載源碼編譯。柵格數據IO用的GDAL,軟件界面一開始用的Qt最近改成了wxWidgets。