RGB和YCrCb

(1)概念

YCrCb即YUV,主要用於優化彩色視頻信號的傳輸,使其向後相容老式黑白電視。與RGB視頻信號傳輸相比,它最大的優點在於只需佔用極少的頻寬(RGB要求三個獨立的視頻信號同時傳輸)。其中“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起。“色度”則定義了顏色的兩個方面─色調與飽和度,分別用Cr和Cb來表示。其中,Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍色部分與RGB信號亮度值之間的差異。

(2)YCrCb和RGB轉換方法

Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16

Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128

Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128

R' = 1.164*(Y’-16) + 1.596*(Cr'-128)

G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128)

B' = 1.164*(Y’-16) + 2.017*(Cb'-128)

常見的RGB格式有RGB1、RGB4、RGB8、RGB565RGB555、RGB24、RGB32、ARGB32等;常見的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等。

(3)應用

在人臉檢測中也常常用到YCrCb空間,因爲一般的圖像都是基於RGB空間的,在RGB空間里人臉的膚色受亮度影響相當大,所以膚色點很難從非膚色點中分離出來,也就是說在此空間經過處理後,膚色點是離散的點,中間嵌有很多非膚色,這爲膚色區域標定(人臉標定、眼睛等)帶來了難題。如果把RGB轉爲YCrCb空間的話,可以忽略Y(亮度)的影響,因爲該空間受亮度影響很小,膚色會產生很好的類聚。這樣就把三維的空間降爲二維的CrCb,膚色點會形成一定得形狀,如:人臉的話會看到一個人臉的區域,手臂的話會看到一條手臂的形態,對處理模式識別很有好處,根據經驗某點的CrCb值滿足:133≤Cr≤173,77≤Cb≤127 那麼該點被認爲是膚色點,其他的就爲非膚色點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章