1.顏色空間(又稱彩色模型、色彩空間、 彩色系統等)是對色彩的一種描述方式,定義有很多種,區別在於面向不同的應用背景。
顏色空間的應用背景:
顯示器中采用的RGB顏色空間是基於物體發光定義的(RGB對應光的三原色:Red,Green,Blue);
工業印刷中常用的CMY顏色空間是基於光反射定義的(CMY對應了繪畫中的三原色:Cyan,Magenta,Yellow);
HSV、HSL兩個顏色空間都是從人視覺的直觀反映而提出來的(H是色調,S是飽和度,I是強度)。
2.RGB顏色空間
基於顏色的加法混色原理,從黑色不斷疊加Red,Green,Blue的顏色,最終可以得到白色光。
如圖:
在RGB顏色空間中,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r[R]+r[G]+r[B]。RGB色彩空間還可以用一個三維的立方體來描述。當三基色分量都為0(最弱)時混合為黑色光;當三基色都為k(最大,值由存儲空間決定)時混合為白色光。
3.CMY(CMYK)顏色空間
相比於RGB,CMY(CMYK)顏色空間是另一種基於顏色減法混色原理的顏色模型。在工業印刷中它描述的是需要在白色介質上使用何種油墨,通過光的反射顯示出顏色的模型。CMYK描述的是青,品紅,黃和黑四種油墨的數值。如圖3:
圖:減法混色
CMYK顏色空間的顏色值與RGB顏色空間中的取值可以通過線性變換相互轉換
4.HSV顏色空間
由色調(Hue)、飽和度(Saturation)、亮度(Value)三個分量構成,HSV更接近於人眼的主觀感受。我們可以通過下面的圖來展示HSV顏色分布情況:
HSV的優勢:
對於圖像而言,識別相應的顏色在RGB空間、HSV空間或者其它顏色空間都是可行的。之所以選擇HSV,是因為H代表的色調基本上可以確定某種顏色,再結合飽和度和亮度信息判斷大於某一個閾值(這里是40到255)。而RGB由三個分量構成,需要判斷每種分量的貢獻比例。比如:R = 200, G = 20, B = 30,可以看到R值很大,所以是紅色,再看GB值相對較小,可以判斷為深紅色。但如果變成:R = 200, G = 190, B = 180,實際上顏色已經接近灰色。
5.HSL顏色空間
與HSV類似,只不過把V:Value替換為了L:Lightness。這兩種表示在用目的上類似,但在方法上有區別。二者在數學上都是圓柱,但HSV(色相,飽和度,色調)在概念上可以被認為是顏色的倒圓錐體(黑點在下頂點,白色在上底面圓心),HSL在概念上表示了一個雙圓錐體和圓球體(白色在上頂點,黑色在下頂點,最大橫切面的圓心是半程灰色)。注意盡管在HSL和HSV中“色相”指稱相同的性質,它們的“飽和度”的定義是明顯不同的。對於一些人,HSL更好的反映了“飽和度”和“亮度”作為兩個獨立參數的直覺觀念,但是對於另一些人,它的飽和度定義是錯誤的,因為非常柔和的幾乎白色的顏色在HSL可以被定義為是完全飽和的。對於HSV還是HSL更適合於人類用戶界面是有爭議的。
參考文章:
http://lib.csdn.net/article/opencv/30171
http://www.xuebuyuan.com/2067734.html