RGB與Lab顏色空間互相轉換

2021-10-19 14:18:02 字數 3650 閱讀 5640

rgb的是由紅色通道(r)、綠色通道(g)、藍色通道(b)組成的,最亮的紅色+最亮的綠色+最亮的藍色=白色;最暗的紅色+最暗的綠色+最暗的藍色=黑色;而在最亮和最暗之間,相同明暗度的紅色+相同明暗度的綠色+相同明暗度的藍色=灰色。在rgb的任意乙個通道內,白和黑表示這個顏色的明暗度。所以,有白色或者灰白色的地方,r、g、b三個通道都不可能是黑色的,因為必須要有r、g、b三個通道來構成這些顏色。

而lab不一樣,lab中的明度通道(l)專門負責整張圖的明暗度,簡單的說就是整幅圖的黑白版。a通道和b通道只負責顏色的多少。a通道表示從洋紅色(通道裡的白色)至深綠色(通道裡的黑色)的範圍;b表示從焦黃色(通道裡的白色)至嫋藍色(通道裡的黑色)的範圍;a、b通道裡的50%中性灰色表示沒有顏色,所以越接近灰色說明顏色越少,而且a通道和b通道的顏色沒有亮度。這就說明了為什麼在a、b通道中紅色t恤的輪廓是那麼的清晰!因為紅色是洋紅色+焦黃色組成的。

總的來說:

適合rgb通道摳的圖大部分lab模式能完成,反之不成立。

任何單一色調背景下,用通道摳有明顯顏色區別的部分,用lab模式很快能完成

lab模式下對明度(l)通道做任何操作(如銳化、模糊等)不會影響到色相。

rgb顏色空間不能直接轉換為lab顏色空間,需要借助xyz顏色空間,把rgb顏色空間轉換到xyz顏色空間,之後再把xyz顏色空間轉換到lab顏色空間。

仔細觀察式(1),其中 x = 0.412453 * r + 0.357580 * g+ 0.180423 * b ; 各係數相加之和為0.950456,非常接近於1,我們知道r/g/b的取值範圍為[ 0,255 ],如果係數和等於1,則x的取值範圍也必然在[ 0,255 ]之間,因此我們可以考慮等比修改各係數,使其之和等於1,這樣就做到了xyz和rgb在同等範圍的對映。這也就是為什麼**裡x,y,z會分別除以0.950456、1.0、1.088754。

//每乙個畫素由24 bits表示,即rgb分量每乙個分量用8 bits表示

左側影象是原始影象,右側影象經過rgb->xyz->lab->xyz->rgb的轉換結果圖。

RGB顏色空間轉LAB

第一 lab顏色空間簡介 lab是由乙個亮度通道 channel 和兩個顏色通道組成的。在lab顏色空間中,每個顏色用l a b三個數字表示,各個分量的含義是這樣的 第二 為什麼使用lab顏色空間 因為它是一種裝置無關的顏色系統,也是一種基於生理特徵的顏色系統。它所描述的顏色空間就是人眼的視覺感應。...

RGB與YCbCr顏色空間的轉換

y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...

RGB與YCbCr顏色空間的轉換

y 明亮度 luminance或luma 也就是灰階值。亮度 是透過rgb輸入訊號來建立的,方法是將rgb訊號的特定部分疊加到一起。u v 色度 chrominance或chroma 作用是描述影像色彩及飽和度,用於指定畫素的顏色。色度 則定義了顏色的兩個方面 色調與飽和度,分別用cr和cb來表示。...