YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值

0 前言

:找了很多转换公式,这次打算梳理一下,我只采纳了YUV标称的以及RGB~(0-255)的公式,最为实用。

一、 公式:基于BT.601-6

在这里插入图片描述
  BT601 UV 的坐标图(量化后): (横坐标为u,纵坐标为v,左下角为原点)

通过坐标图我们可以看到UV并不会包含整个坐标系,而是呈一个旋转了一定角度的八边形, U越大蓝色越蓝,V越大,红色越红。

名词解释:

量化后: Y~(16,235) U ~(16-240) V~(16-240) 量化就是让通过线性变换让Y 或 U 或V 处于一定的范围内, 比如让Y (0,255) 变到 Y’ (16,235) 就这样来实行: Y’ = Y*[(235-16)/255] +16
未量化: Y/U/V ~(0-255)

YUV :即YCbCr两者是等价的

1.SDTV (RBG~0-255)

R = 1.164(Y-16)+1.596(Cr-128)
G =1.164(Y-16)-0.813(Cr-128)-0.391(Cb-128)
B = 1.164(Y-16)+2.018(Cb-128)

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

2.HDTV(RBG~0-255)

R = 1.164(Y-16)+1.793(Cr-128)
G =1.164(Y-16)-0.534(Cr-128)-0.213(Cb-128)
B = 1.164(Y-16)+2.115(Cb-128)

Y    =  0.183*R +  0.614*G + 0.062*B+16
Cb  = -0.101*R - 0.338*G  + 0.439*B+128  
Cr  =  0.439*R -  0.399*G  -  0.040*B+128

二、常用颜色值

                                  表一  75%YCbCr彩条  SDTV
标称范围白色黄色青色绿色红色蓝色黑色
Y16~235180162131112653516
Cb16~2401284415672100212128
Cr16~2401281424458212114128
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐