顏色空間之YCbCr

YCbCrDVD、攝像機、數字電視等消費類視頻產品中,常用的色彩編碼方案。YCbCr不是一種絕對色彩空間,是YUV壓縮和偏移的版本。YCbCr其中Y是指亮度分量,Cb指藍色色度分量,而Cr指紅色色度分量。人的肉眼對視頻的Y分量更敏感,因此在通過對色度分量進行子採樣來減少色度分量後,肉眼將察覺不到的圖像質量的變化。

    主要的子採樣格式有YCbCr 4:2:0YCbCr 4:2:2  YCbCr 4:4:44:2:0表示每4個像素有4個亮度分量,2個色度分量 (YYYYCbCr),僅採樣奇數掃描線,是便攜式視頻設備(MPEG-4)以及電視會議(H.263)最常用格式;422表示每4個像素有4個亮度分量,4個色度分量(YYYYCbCrCbCr),是DVD、數字電視、HDTV 以及其它消費類視頻設備的最常用格式;444表示全像素點陣(YYYYCbCrCbCrCbCrCbCr),用於高質量視頻應用、演播室以及專業視頻產品。

    在人臉檢測中會用到YCbCr顏色空間,因此就要進行RGBYCbCr顏色空間的轉換。下面是RGBYCbCr之間得轉換關係:

     

[c-sharp] view plaincopy
  1. // 其中R G B Y Cb Cr得取值均爲0-255  
  2. // RGB轉換爲YCbCr  
  3. // |Y |   |16 |             |65.738   129.057  25.06 |   |R|  
  4. // |Cb| = |128| + (1/256) * |-37.945  -74.494  112.43| * |G|  
  5. // |Cr|   |128|             |112.439  -94.154  -18.28|   |B|  
  6. Y = (66*R + 129*G + 25*B + 128)/256.0f + 16;  
  7. Cb = (-38*R - 74*G + 112*B + 128)/256.0f + 128;  
  8. Cr = (112*R - 94*G - 18*B + 128)/256.0f + 128;  
  9. Y = (Y<0?0:(Y>255?255:Y));  
  10. Cb =(Cb<0?0:(Cb>255?255:Cb));  
  11. Cr =(Cr<0?0:(Cr>255?255:Cr));  
  12.   
  13. // YCbCr轉換爲RGB  
  14. //|R|             |298.082  0        408.58 |    |Y  -16 |  
  15. //|G| = (1/256) * |298.082  -100.291 -208.12|  * |Cb -128|  
  16. //|B|             |298.082  516.411   0     |    |Cr -128|   
  17. Y -= 16;  
  18. Cb -= 128;  
  19. Cr -= 128;  
  20. R = (298*Y + 409*Cr + 128)/256;  
  21. G = (298*Y - 100*Cb - 208*Cr + 128)/256;  
  22. B = (298*Y + 516*Cb + 128)/256;  
  23. R = (R<0?0:(R>255?255:R));  
  24. G = (G<0?0:(G>255?255:G));  
  25. B = (B<0?0:(B>255?255:B));  

 

發佈了70 篇原創文章 · 獲贊 21 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章