1.基于顏色加法混色原理的RGB
RGB顏色模型即紅綠藍顏色模型。由模仿生物視網膜三種視錐細胞產生谆甜,之后通過三原色疊加來進行彩色圖像顯示垃僚。通過在黑色上不斷疊加三原色來顯示不同的顏色。在RGB顏色空間中规辱,分別將RGB作為笛卡爾坐標系中XYZ坐標系產生谆棺。每一個顏色取值范圍為[0,256)
數字圖像多采用RGB進行存儲和顯示,三個通道分別分開存儲圖像上每個像素的RGB值罕袋,單獨每個通道顯示均為灰度圖像改淑,通道為二維矩陣,opencv中存儲通道順序為BGR浴讯。三通道及多通道圖像表示如下:
2.基于顏色減法混色原理的CMY/CMYK
CMY是青(Cyan)朵夏、洋紅或品紅(Magenta)和黃(Yellow)三種顏色,由于三原色得不到純黑色兰珍,CMYK則是打印時加上墨色(black ink)侍郭,例如青色可以通過藍色和綠色光相加得到询吴,則白色通過青色時掠河,沒有紅色分量。底色為白色進行色彩減法可以得到各種顏色猛计。RGB與CMYK相互轉換為:
R = 255*(100-C)*(100-K)/10000唠摹;
G = 255*(100-M)*(100-K)/10000;
B = 255*(100-Y)*(100-K)/10000奉瘤;
3.YUV
YUV(亦稱YCrCb)是被歐洲電視系統(tǒng)所采用的一種顏色編碼方法勾拉。采用YUV色彩空間的重要性是它的亮度信號Y和色度信號U煮甥、V是分離的。如果只有Y信號分量而沒有U藕赞、V信號分量成肘,那么這樣表示的圖像就是黑白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題斧蜕,使黑白電視機也能接收彩色電視信號双霍。其中“Y”表示明亮度(Luminance或Luma),也就是灰階值批销;而“U”和“V” 表示的則是色度(Chrominance或Chroma洒闸,作用是描述影像色彩及飽和度,用于指定像素的顏色均芽∏鹨荩“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起掀宋∩罡伲“色度”則定義了顏色的兩個方面─色調與飽和度,分別用Cr和Cb來表示劲妙。其中囤萤,Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍色部分與RGB信號亮度值之同的差異是趴。YUV和RGB互相轉換的公式如下:
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
4.HSV涛舍、HSI
RGB可以方便的進行計算機存儲和讀取,但對人進行顏色判斷十分不友好唆途,因此有了HSV富雅,HSI顏色空間。HSV即色相(Hue)肛搬、飽和度(Saturation)没佑、明度(Value),又稱HSB(B即Brightness)温赔。
H色相是色彩的基本屬性蛤奢,就是平常說的顏色的名稱,如紅色陶贼、黃色等啤贩。飽和度,用角度度量拜秧,取值范圍為0°~360°痹屹,從紅色開始按逆時針方向計算,紅色為0°枉氮,綠色為120°,藍色為240°志衍。它們的補色是:黃色為60°暖庄,青色為180°,品紅為300°;
S是指色彩的純度楼肪,越高色彩越純培廓,低則逐漸變灰,取0-100%的數值春叫。飽和度S表示顏色接近光譜色的程度医舆。一種顏色,可以看成是某種光譜色與白色混合的結果象缀。其中光譜色所占的比例愈大蔬将,顏色接近光譜色的程度就愈高,顏色的飽和度也就愈高央星。飽和度高霞怀,顏色則深而艷。光譜色的白光成分為0莉给,飽和度達到最高毙石。通常取值范圍為0%~100%,值越大颓遏,顏色越飽和徐矩。
HSI與HSL使用相同的模型喂很,僅在亮度的描述上不同蜡镶。
5.Lab
Lab色彩空間(Lab color space)是顏色-對立空間恤筛,帶有維度L表示亮度官还,a和b表示顏色對立維度,基于了非線性壓縮的CIE XYZ色彩空間毒坛。Lab顏色被設計來接近人類視覺望伦。它致力于感知均勻性,它的L分量密切匹配人類亮度感知煎殷。因此可以被用來通過修改a和b分量的輸出色階來做精確的顏色平衡屯伞,或使用L分量來調整亮度對比。這些變換在RGB或CMYK中是困難或不可能的——它們建模于物理設備的輸出豪直,而不是人類的視覺感知劣摇。因為Lab空間比電腦螢幕、印表機甚至比人類視覺的色域都要大弓乙,表示為Lab的位圖比RGB或CMYK位圖獲得同樣的精度要求更多的每像素數據末融。
Lab顏色空間中的L分量用于表示像素的亮度钧惧,取值范圍是[0,100],表示從純黑到純白;a表示從紅色到綠色的范圍勾习,取值范圍是[127,-128]浓瞪;b表示從黃色到藍色的范圍,取值范圍是[127,-128]巧婶。
RGB-XYZ-Lab轉換
XYZ轉lab