顏色模型之間的轉換
為了用計算機來表示和處理顏色,必須採用定量的方法來描述顏色,即建立顏色模型。目前廣泛使用的顏色模型有三類:計算顏色模型、工業顏色模型、視覺顏色模型。計算顏色模型又稱為色度學顏色模型,主要應用於純理論研究和計算推導;工業顏色模型側重於實際應用的實現技術;視覺顏色模型用於與人直接介面的顏色模型和控制。
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
|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|