YUV與RGB的轉換

這兩天一直在調字體顏色的顯示,底層設計採用的爲YUV420,前端傳過來的值爲RGB色彩值。從未接觸過這樣的首先就想到了度娘,找到了CSDN的一篇文章介紹,裏面的轉換關係:

Y =  0.299R + 0.587G + 0.114B + 16

U = -0.1687R - 0.3313G + 0.5B + 128

V =  0.5R - 0.4187G - 0.0813B + 128

R = Y + 1.402 (V-128) 

= Y - 0.34414 (U-128) - 0.71414 (V-128) 

B = Y + 1.772 (U-128)


但是在實際中的色彩調試中,其他色彩都OK,唯獨與紅色的:R:255、G:0這兩組值相關色彩轉換就不正常。參考底層提供的紅色YUV值中V值爲240,而轉換中的V值都不超過40,那麼問題來了,是什麼導致這樣的結果?

V 通道的範圍是從藍到黃,黃色其實就是紅和綠,所以V的值不超過40,藍色佔的比重過大,顏色就變得偏向V值的藍色。

經實驗嚴重要想RGB有紅色成份的轉換OK的話V值直接複製在240左右就OK了。沒有過多的研究過,這些解釋也只是個人見解。

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