71.4.2. КОЛОРМЕТРИЯ
THIS SECTION IS UNDER CONSTRUCTION
Что такое цвет?
Чуствительность глаза
Человек в среднем различает ~ 3 * 10^5 цветов
из них:
256 оттенков интенсивности
200 градаций цветового тона (128 для красного)
10 уровней насыщенности (16 для желтого, 23 для красного)
Чуствительность глаза к RGB
Чувствительность глаза к CIE XYZ
Аддитивные и субтрактивные цвета:
Аддитивные цвета это когда они складываются.
например источники света - пиксели на экране.
Основные аддитивные цвета:
Red красный
Green зеленый
Blue синий
Субтрактивные цвета - цвета которые вычитаются
т.е. не отдают, а поглощают,
как например пичменты чернил на бумаге.
Основные субтрактивные цвета:
Cyan голубой
Magenta пурпурный
Yellow желтый
Вот какаим образом рождается цвет из субтрактивных цветов:
Смешивание цветов:
Цветовые модели
RGB/CMY
R G B
Red (1 0 0)
Blue (0 0 1)
Green (0 1 0)
Black (0 0 0)
Yellow (1 1 0)
Cyan (0 1 1)
Magenta (1 0 1)
White (1 1 1)
Grey (0.5 0.5 0.5)
Собственно говоря RGB куб является также и CMY кубом
|C| |1| |R|
|M| = |1| - |G|
|Y| |1| |B|
C M Y
Cyan (1 0 0)
Magenta (0 1 0)
Yellow (0 0 1)
Black (1 1 1)
White (0 0 0)
Red (0 1 1)
Green (1 0 1)
Blue (1 1 0)
На практике кроме CMY в целях экономии цветных расходных
материалов используют CMYB.
CMYB это CMY + Black (черный)
Поскольку равные количества CMY дает Black, то можно его
напечатать, а поверх разницу между цветами и black,
будет тоже самое.
CMYB
K = min(C,M,Y)
Ck = C - K
Mk = M - K
Yk = Y - K
HLS
HLS (Hue-Lighness-Saturation)
оттенок-светлота-насыщенность).
Н как у HSV
S как у HSV
Но L отличается, не простой конус, а двойной конус.
H L S
Red (0' 0.5 1)
Green (120' 0.5 1)
Blue (240' 0.5 1)
Black (X 0 X)
White (X 1 X)
Преобразование из RGB:
L = [MAX(R,G,B) + MIN(R,G,B)] / 2
if (MAX(R,G,B) == MIN(R,G,B)
then
S = 0
H = undefined
else
if L < 0.5 then
S = (Max-Min) / (Max+Min)
else
S = (Max-Min) / (2 - Min - Max)
endif
endif
if R = Max then
H = (G - B) / (Max - Min)
else if G = Max then
H = 2 + (B - G) / (Max - Min)
else // B = Max
H = 4 + (R - G) / (Max - Min)
endif
H = H * 60'
if H < 0 then H = H + 360'
HSV
Hue-Saturation-Value
цвет-насыщенность-яркость
Н - угол (цветовой тон) 0'-360'
S - насыщенность 0..1
V - яркость 0..1
Откуда растут ноги:
HSV - это цветовой конус
H S V
Red (0' 1 1)
Green (120' 1 1)
Blue (240' 1 1)
Преобразование из RGB:
V = MAX(R,G,B)
S = (V - MIN(R,G,B)) / V
H = 60' * {1/(S*V) *
(F(V-R)*(G-B) + F(V-G)*(B-R) + F(V-B)(R-G))
+ (2 + 2F(V-B)) * F(V-R)}
где
F(X) = | 1 X == 0 |
| 0 X != 0 |
TLS
Tone-Saturation-Layer
T - цветовой тон (-1..1)
S - насыщенность (0..1)
L - уровень (0..1)
Преобразование из RGB:
L = (R + G + B) / 3
S = SQRT{(R - L)^2 + (G - L)^2 + (B - L)^2} / L / SQRT(6)
T = sign(G - B) * acos(2 * (R-L) - (G - L) - (B - L))
/ SQRT(6 * PI * SQRT{(R-L)^2 + (G-L)^2 + (B-L)^2})
XYZ
X + Y + Z = 1
RGB на XYZ:
|X| | 2.36460 -0.51515 0.00520| |R|
|Y| = |-0.89653 1.42640 -0.01441| * |G|
|Z| |-0.46807 0.08875 1.00921| |B|
YIQ
YIQ - цветовая схема используемая в телевидении в США (в NTSC)
Y brightness (тоже самое как CIE Y)
I (orange-cyan color) синфазный сигнал
Q (green-magenta color) интегрируемый сигнал
|Y| |0.30 0.59 0.11| |R|
|I| = |0.60 -0.28 -0.32| * |G|
|Q| |0.21 -0.52 0.31| |B|
YUV
YUV
Y - brihtness
U,V - vertical colors
Y = 0.3R + 0.59G + 0.11B
Y = 0 black
Y = 1 white
|Y| |0.299 0.58 0.14| |R| | 0 |
|U| = |0.500 -0.41 -0.08| * |G| + |128|
|V| |0.169 -0.33 0.50| |B| |128|
|R| |1 0 1.402| / |Y| | 0 | \
|G| = |1 -0.344 -0.714| * | |U| - |128| |
|B| |1 1.772 0 | \ |V| |128| /
Index Prev Next