Смит предложил построить модель субъективного восприятия в виде объемного тела HSV (цветовой тон, насыщенность, светлота).
Hасыщенность меняется от 0 до 1. Отметим, что насыщенность зависит от цветового охвата те от расстояния от оси до границы для каждого V. При S=1 цвета или их дополнения полностью насыщенны. Hенулевая линейная комбинация 3 основных цветов не может быть полностью насыщенна. Если S=0, то тон H неопределен, те на центральной оси находятся ахроматические, серые цвета.
Модель HSV соотвествует тому, как составляют цвета художники. Чистым пигментам отвечают значения S=1, V=1; разбелам - цвета с увеличенным содержанием белого, те с меньшим S; оттенкам - цвета с уменьшенным V, к-рые получаются при добавлении черного. Тон изменяется при уменьшении как V так и S.
Преобразование из цветового пространства RGB->HSV проводиться по данному ниже алгоритму, также взятому у Смита:
RGB - остновные цвета (0-1), H - цветовой тон (0-360ш), 0ш - красный S - насыщенность (0-1) V - светлота (0-1)
MAX - функция определения максимума MIN - функция определения минимума
/Определение светлоты/
V=MAX(R, G, B)
/Определение насыщенности/
TEMP=MIN(R, G, B) if V=0 then S=0 else S=(V-TEMP)/V end if
/Определение цветового тона/
if S=0 then
H=Hеопределенность
else
Cr=(V-R)/(V-TEMP) Cg=(V-G)/(V-TEMP) Cb=(V-B)/(V-TEMP)
/Цвет между желтым и пурпурным/
if R=V then H=Cb-Cg
/Цвет между голубым и желтым/
if G=V then H=2+Gr-Cb
/Цвет между пурпурным и голубым/
if B=V then H=4+Cg-Cr H=H*60
/Приведение к положительным величинам/
if H<0 then H=H+360 end if
finish
8 8 8
| |