YUV(YCrCb)和RGB 和HSVHSL 圖像信號

YCrCb即YUV,主要用於優化彩色視頻信號的傳輸,使其向後相容老式黑白電視。與RGB視頻信號傳輸相比,它最大的優點在於只需佔用極少的頻寬(RGB要求三個獨立的視頻信號同時傳輸)。

“Y”表示明亮度(Luminance或Luma),也就是灰階值,“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起。

“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。“色度”則定義了顏色的兩個方面─色調與飽和度,分別用Cr和Cb來表示。Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而CB反映的是RGB輸入信號藍色部分與RGB信號亮度值之間的差異。   

採用YUV色彩空間的重要性是它的亮度信號Y和色度信號U、V是分離的。如果只有Y信號分量而沒有U、V分量,那麼這樣表示的圖像就是黑白灰度圖像。彩色電視採用YUV空間正是爲了用亮度信號Y解決彩色電視機與黑白電視機的兼容問題,使黑白電視機也能接收彩色電視信號。   YUV與RGB相互轉換的公式如下(RGB取值範圍均爲0-255)︰   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   在DirectShow中,常見的RGB格式有RGB1、RGB4、RGB8、RGB565、RGB555、RGB24、RGB32、ARGB32等;常見的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等。   在人臉檢測中也常常用到YCrCb空間,因爲一般的圖像都是基於RGB空間的,在RGB空間裏人臉的膚色受亮度影響相當大,所以膚色點很難從非膚色點中分離出來,也就是說在此空間經過處理後,膚色點是離散的點,中間嵌有很多非膚色,這爲膚色區域標定(人臉標定、眼睛等)帶來了難題。如果把RGB轉爲YCrCb空間的話,可以忽略Y(亮度)的影響,因爲該空間受亮度影響很小,膚色會產生很好的類聚。這樣就把三維的空間將爲二維的CrCb,膚色點會形成一定得形狀,如:人臉的話會看到一個人臉的區域,手臂的話會看到一條手臂的形態,對處理模式識別很有好處,根據經驗某點的CrCb值滿足:133≤Cr≤173,77≤Cb≤127 那麼該點被認爲是膚色點,其他的就爲非膚色點。


HSLHSV都是一種將RGB色彩模型中的點在圓柱座標系中的表示法。這兩種表示法試圖做到比RGB基於笛卡爾座標系的幾何結構更加直觀。

HSL即色相飽和度亮度英語Hue, Saturation, Lightness),又稱HLS。HSV即色相飽和度明度英語Hue, Saturation, Value),又稱HSB,其中B即英語Brightness

  • 色相(H)是色彩的基本屬性,就是平常所說的顏色名稱,如紅色黃色等。
  • 飽和度(S)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。
  • 明度(V),亮度(L),取0-100%。

HSL和HSV二者都把顏色描述在圓柱座標系內的點,這個圓柱的中心軸取值爲自底部的黑色到頂部的白色而在它們中間是的灰色,繞這個軸的角度對應於“色相”,到這個軸的距離對應於“飽和度”,而沿着這個軸的高度對應於“亮度”,“色調”或“明度”。

這兩種表示在用目的上類似,但在方法上有區別。二者在數學上都是圓柱,但HSV(色相,飽和度,亮度)在概念上可以被認爲是顏色的倒圓錐體(黑點在下頂點,白色在上底面圓心),HSL在概念上表示了一個雙圓錐體和圓球體(白色在上頂點,黑色在下頂點,最大橫切面的圓心是半程灰色)。注意儘管在HSL和HSV中“色相”指稱相同的性質,它們的“飽和度”的定義是明顯不同的。

因爲HSL和HSV是設備依賴的RGB的簡單變換,(hsl)或 (hsv)三元組定義的顏色依賴於所使用的特定紅色綠色藍色加法原色”。每個獨特的RGB設備都伴隨着一個獨特的HSL和HSV空間。但是 (hsl)或 (hsv)三元組在被約束於特定RGB空間比如sRGB的時候就變成明確的了。


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