颜色模型转换公式

颜色模型转换公式 
为了用计算机来表示和处理颜色,必须采用定量的方法来描述颜色,即建立颜色模型。目前广泛使用的颜色模型有三类:计算颜色模型、工业颜色模型、视觉颜色模型。计算颜色模型又称为色度学颜色模型,主要应用于纯理论研究和计算推导;工业颜色模型侧重于实际应用的实现技术;视觉颜色模型用于与人直接接口的颜色模型和控制。

1、计算颜色模型有CIE的RGB、XYZ、Luv、LCH、LAB、UCS、UVW。

2、工业颜色模型NTSC的RGB、YUV、YIQ、CMYK、YCbCr。

3、视觉颜色模型有HS*系列,包含HSL、HSV(B)。

常见Color Formula/Matrix如下:

1、RGB<->CIE XYZ


a、RGB<->CIE XYZ REC601

|X| | 0.607 0.174 0.201| |R|

|Y| = | 0.299 0.587 0.114| * |G|

|Z| | 0.000 0.066 1.117| |B|
|R| | 1.910 -0.532 -0.288| |X|

|G| = |-0.985 1.999 -0.028| * |Y|

|B| | 0.058 -0.118 0.898| |Z|

b、RGB<->CIE XYZ REC709

|X| | 0.412 0.358 0.180| |R|

|Y| = | 0.213 0.715 0.072| * |G|

|Z| | 0.019 0.119 0.950| |B|
|R| | 3.241 -1.537 -0.499| |X|

|G| = |-0.969 1.876 -0.042| * |Y|

|B| | 0.056 -0.204 1.057| |Z|

c、RGB<->CIE XYZ ITU 

|X| = | 0.431 0.342 0.178| |R|

|Y| = | 0.222 0.707 0.071| * |G|

|Z| = | 0.020 0.130 0.939| |B|
|R| | 3.063 -1.393 -0.476| |X|

|G| = |-0.969 1.876 0.042| * |Y|

|B| | 0.068 -0.229 1.069| |Z|
2、RGB<->CMYK


a、RGB -> CMYK 

K = min(1-R, 1-G, 1-B)

C = (1-R-K) / (1-K)

M = (1-G-K) / (1-K)

Y = (1-B-K) / (1-K)

b、CMYK->RGB

R = 1 – min(1, C *(1-K) + K)

G = 1 – min(1, M *(1-K) + K)

B = 1 – min(1, Y *(1-K) + K)
3、RGB->CIE RGB

|Rcie| | 1.167 -0.146 -0.151| |R|


|Gcie| = | 0.144 0.753 0.159| * |G|



|Bcie| |-0.001 0.059 1.128| |B|
4、CIE XYZ->CIE Lab
 D65
xn = 0.312713 ,
yn = 0.329016
L = 116 * ( ( Y / Yn ) ^ ( 1 / 3 ) ) , Y/Yn > 0.008856

L = 903.3 * Y / Yn , Y/Yn <= 0.008856

a = 500*(f(X/Xn)-f(Y/Yn))

b = 200*(f(Y/Yn)-f(Z/Zn))

5、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位。

6、RGB<->YIQ
 YIQ是北美电视系统(NTSC)所采用的。

Y指亮度,I和Q指色调,描述图像的色彩和饱和度。

|Y| | 0.299 0.587 0.114| |R|

|I| = | 0.596 -0.274 -0.322| * |G|

|Q| | 0.211 -0.523 0.312| |B|



|R| | 1 0.956 0.621| |Y|


|G| = | 1 -0.272 -0.647| * |I|



|B| |-1 -1.106 -1.703| |Q|
7、RGB<->YUV
 YUV是欧洲的电视系统所采用(PAL)。Y指亮度,U和V指色调。

|Y| | 0.299 0.587 0.114| |R|


|U| = |-0.148 -0.289 0.437| * |G|



|V| | 0.615 -0.515 -0.100| |B|



|R| | 1 0 1.140| |Y|


|G| = | 1 -0.395 -0.581| * |I|


|B| |-1 2.032 0 | |Q|

8、RGB<->YCbCr
 JPEG采用的颜色模型是YCbCr。它是从YUV颜色模型衍生来的。其中Y指亮度,而Cb和Cr是将U和V做少量的调整而得来得。
|Y | | 0.2990 0.5870 0.1140 0 | |R|

|Cb| |-0.1687 -0.3313 0.5000 128| * |G|

|Cr | = | 0.5000 -0.4187 -0.0813 128| |B|

|1 | | 0 0 0 1 | |1|

|R| | 1 1.40200 0 | |Y |

|G| = | 1 -0.34414 -0.71414| * |Cb-128|

|B| | 1 1.77200 0 | |Cr-128 |

标准参考代码:
http://www.easyrgb.com/math.php?MATH=M22#text22

出处:http://blog.csdn.net/jonfei/archive/2007/04/25/1583885.aspx
CMYK_NORMAL_COLORSPACE:



r = ((maxval-k)*(maxval-c))/maxval; 




g = ((maxval-k)*(maxval-m))/maxval; 




b = ((maxval-k)*(maxval-y))/maxval; 




CMYK_ADOBE_COLORSPACE:



r = (k*c)/maxval;




g = (k*m)/maxval; 





b = (k*y)/maxval; 







This differs from the formula used in groff (as submitted by Gaius; to 
be available soon from the CVS):







r = maxval – min(maxval, c*(maxval-k)/maxval + k);








g = maxval – min(maxval, m*(maxval-k)/maxval + k);









b = maxval – min(maxval, y*(maxval-k)/maxval + k);










Lab 颜色空间 
Lab颜色空间是由CIE(国际照明委员会)制定的一种色彩模式。自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB空间还要大。另外,这种模式是以数字化方式来描述人的视觉感应,与设备无关,所以它弥补了RGB和CMYK模式必须依赖于设备色彩特性的不足。由于Lab的色彩空间要比RGB模式和CMYK模式的色彩空间大。这就意味着RGB以及CMYK所能描述的色彩信息在Lab空间中都能得以影射。Lab颜色空间取坐标Lab,其中L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色(a,b)有L=116f(y)-16, a=500[f(x/0.982)-f(y)], b=200[f(y)-f(z/1.183 )];其中: f(x)=7.787x+0.138, x<0.008856; f(x)=(x)1/3,x>0.008856

    原文作者:sminger1202
    原文地址: https://blog.csdn.net/minger1202/article/details/74280138
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞