彩色图像RGB转YUV

来源:互联网 发布:类似知乎的网站源码 编辑:程序博客网 时间:2024/05/16 12:12

YUV分量转RGB分量:

R = 1.0Y + 0 + 1.402(v - 128)

G = 1.0Y - 0.34413(u - 128) - 0.71414(v - 128)

B = 1.0Y + 1.772(u - 128) + 0

 

 

RGB不同彩色空间的转换公式

 

 

彩图与灰度图的相互转换 RGB <-> GRAY

RGB[A]->Gray: Y=0.212671*R + 0.715160*G + 0.072169*B

Gray->RGB[A]: R=Y G=Y B=Y A=0

其它的所有可能的图像色彩空间的相互变换公式列举如下:

 

 

RGB<=>XYZ :

|X|    |0.412411  0.357585  0.180454| |R|

|Y| = |0.212649  0.715169  0.072182|*|G|

|Z|    |0.019332  0.119195  0.950390| |B|

 

|R|    | 3.240479  -1.53715  -0.498535| |X|

|G| = |-0.969256   1.875991  0.041556|*|Y|

|B|    | 0.055648  -0.204043  1.057311| |Z|RGB<=>YCrCb 

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

Cr=(R-Y)*0.713 + 128

Cb=(B-Y)*0.564 + 128

 

R=Y + 1.403*(Cr - 128)

G=Y - 0.344*(Cr - 128) - 0.714*(Cb - 128)

B=Y + 1.773*(Cb - 128)

 

RGB=>HSV 

V=max(R,G,B)

S=(V-min(R,G,B))*255/V   if V!=0, 0 otherwise

 

       (G - B)*60/S,  if V=R

H= 180+(B - R)*60/S,  if V=G

      240+(R - G)*60/S,  if V=B

 

H<0,则 H=H+360

使用上面从 0°到 360°变化的公式计算色调( hue)值,确保它们被 2 除后能试用于8位。

 

 

RGB=>Lab

|X|    |0.433910  0.376220  0.189860| |R/255|

|Y| = |0.212649  0.715169  0.072182|*|G/255|

|Z|    |0.017756  0.109478  0.872915| |B/255|

 

L = 116*Y1/3      for Y>0.008856

L = 903.3*Y      for Y<=0.008856

 

a = 500*(f(X)-f(Y))

b = 200*(f(Y)-f(Z))

其中  f(t)=t1/3              for t>0.008856

          f(t)=7.787*t+16/116    for t<=0.008856

 

原创粉丝点击