HSL и HSV - HSL and HSV

Рис. 1. HSL (a – d) и HSV (e – h). Вверху (a, e): 3D-модели каждого в разрезе. Ниже: двумерные графики, показывающие сразу два из трех параметров модели, при сохранении другого постоянного значения: цилиндрические оболочки (b, f) постоянного насыщения, в данном случае внешняя поверхность каждого цилиндра; горизонтальные сечения (c, g) постоянной яркости HSL или значения HSV, в данном случае срезы на полпути вниз по каждому цилиндру; и прямоугольные вертикальные сечения (d, h) постоянного оттенка, в данном случае оттенков красного 0 ° и его дополнения 180 ° голубого.

HSL (для оттенка, насыщенности, яркости ) и HSV (для оттенка, насыщенности, значения ; также известный как HSB , для оттенка, насыщенности, яркости ) являются альтернативными представлениями цветовой модели RGB , разработанной в 1970-х годах исследователями компьютерной графики для большего точно соответствует тому, как человеческое зрение воспринимает цветообразующие атрибуты. В этих моделях цвета каждого оттенка расположены в радиальном срезе вокруг центральной оси нейтральных цветов, которая варьируется от черного внизу до белого вверху.

Представление HSL моделирует то, как разные краски смешиваются вместе, чтобы создать цвет в реальном мире, с измерением яркости, напоминающим разное количество черной или белой краски в смеси (например, для создания «светло-красного» красный пигмент может быть смешан с белая краска (эта белая краска соответствует высокому значению «светлоты» в представлении HSL). Полностью насыщенные цвета помещаются по кругу со значением яркости 1/2, а значение яркости 0 или 1 соответствует полностью черному или белому цвету соответственно.

Между тем, представление HSV моделирует, как цвета появляются при свете. Разница между HSL и HSV заключается в том, что цвет с максимальной яркостью в HSL является чисто белым, но цвет с максимальным значением / яркостью в HSV аналогичен освещению белым светом цветного объекта (например, освещению ярким белым светом красного объект заставляет объект по-прежнему казаться красным, только ярче и интенсивнее, в то время как тусклый свет на красный объект заставляет объект казаться темнее и менее ярким).

Проблема как с HSV, так и с HSL заключается в том, что эти подходы не позволяют эффективно разделить цвет на три составляющих ценности в соответствии с человеческим восприятием цвета. Это можно увидеть, если изменить настройки насыщенности - довольно легко заметить разницу в воспринимаемой легкости, несмотря на то, что настройка «V» или «L» зафиксирована.

Основной принцип

Рис. 2а. Цилиндр HSL.
Рис. 2б. Цилиндр HSV.

HSL и HSV имеют цилиндрическую форму ( рис.2 ), с оттенком, их угловым размером, начиная с красного первичного элемента при 0 °, проходящего через зеленый первичный элемент при 120 ° и синий первичный элемент при 240 °, а затем возвращаясь к красный на 360 °. В каждой геометрии центральная вертикальная ось содержит нейтральный , ахроматический или серый цвета в диапазоне сверху вниз от белого при яркости 1 (значение 1) до черного при яркости 0 (значение 0).

В обеих геометриях дополнительные первичный и вторичный цвета - красный, желтый , зеленый, голубой , синий и пурпурный - и линейные смеси между соседними парами из них, иногда называемые чистыми цветами , расположены вокруг внешнего края цилиндра с насыщенностью 1. Эти насыщенные цвета имеют яркость 0,5 в HSL, в то время как в HSV они имеют значение 1. Смешивание этих чистых цветов с черным - создание так называемых оттенков - оставляет насыщенность неизменной. В HSL насыщенность также не изменяется при окрашивании белым, и только смеси с черным и белым, называемые тонами, имеют насыщенность менее 1. В HSV только тонирование снижает насыщенность.

Рис. 3a – b. Если мы построим график оттенка и (а) яркости HSL или (б) значения HSV относительно цветности ( диапазон значений RGB), а не насыщенности (цветность выше максимальной цветности для этого среза), полученное твердое тело будет биконусом или конусом соответственно, а не цилиндр. Такие диаграммы часто претендуют на прямое представление HSL или HSV, причем размерность цветности ошибочно обозначена как «насыщенность».
Цвета значения 1 в цветовом пространстве HSV, с белым (насыщенность 0) в центре и полностью насыщенными цветами по краям. Все цвета, отображаемые на экране, являются оттенками этих цветов.

Потому что эти определения насыщенности - в которых очень темные (в обеих моделях) или очень светлые (в HSL) почти нейтральные цвета считаются полностью насыщенными (например, снизу справа в нарезанном цилиндре HSL или сверху справа) - конфликт с интуитивным представлением о чистоте цвета, вместо этого часто рисуется коническое или биконическое твердое тело ( рис. 3 ), радиальное измерение которого в данной статье называется цветностью (равным диапазону значений RGB) вместо насыщенности (где насыщенность равна цветности по максимальной цветности в этом срезе (би) конуса). Что сбивает с толку, такие диаграммы обычно обозначают это радиальное измерение как «насыщенность», размывая или стирая различие между насыщенностью и цветностью. Как описано ниже , вычисление цветности является полезным шагом при выводе каждой модели. Поскольку такая промежуточная модель - с размерами оттенка, цветности и значения HSV или яркости HSL - принимает форму конуса или биконуса, HSV часто называют «гексиконической моделью», а HSL часто называют «бигексиконной моделью» ( рис.8 ).

Мотивация

Цветовое пространство HSL было изобретено для телевидения в 1938 году Жоржем Валенси в качестве метода добавления цветового кодирования к существующим монохромным (то есть содержащим только L-сигнал) трансляциям, позволяя существующим приемникам принимать новые цветные трансляции (в черно-белом) без каких-либо модификаций. яркости (черный и белый) сигнал передается без изменений. Он использовался во всех основных системах кодирования аналогового телевещания, включая NTSC , PAL и SECAM, а также во всех основных системах цифрового вещания и является основой для композитного видео .

Рис. 4. Художники долго смешивали цвета, сочетая относительно яркие пигменты с черным и белым. Смеси с белым называются оттенками , смеси с черным - оттенками , а смеси с обоими оттенками - тонами . См. Оттенки и оттенки .
Несколько элементов смешивания красок могут быть расположены в треугольном порядке: левый край треугольника показывает белый вверху и черный внизу с серым между ними, каждый в своем соответствующем овале.  Чистый цвет (в данном случае ярко-сине-зеленый) находится в правом углу треугольника.  На границе между чистым цветом и черным находится оттенок (более темный сине-зеленый), между чистым цветом и белым - оттенок (более светлый, блеклый сине-зеленый), а тон лежит в середине треугольника ( приглушенный сине-зеленый).
Рис. 5. Эта цветовая модель 1916 года, разработанная немецким химиком Вильгельмом Оствальдом, иллюстрирует подход «смеси с белым и черным», организовав 24 «чистых» цвета в круг оттенков , а цвета каждого оттенка - в треугольник. Таким образом, модель приобретает форму биконуса.
Куб RGB имеет черный цвет в начале, а три измерения R, G и B направлены в ортогональных направлениях от черного.  Углы в каждом из этих направлений - это соответствующий основной цвет (красный, зеленый или синий), в то время как углы, находящиеся дальше от черного, представляют собой комбинации двух основных цветов (красный плюс зеленый дает желтый, красный плюс синий дает пурпурный, зеленый плюс синий дает голубой).  В самом дальнем от исходной точке углу куба лежит белый цвет.  Любая точка куба описывает определенный цвет в пределах цветовой гаммы RGB.
Рис. 6а. Палитру RGB можно расположить в виде куба.
То же изображение, но часть удалена для наглядности.
Рис. 6б. То же изображение, но часть удалена для наглядности.
В классическом стиле патентной заявки это черно-белая диаграмма, на которой указаны название патента, имя изобретателя и номер патента, заштрихованные перекрестной штриховкой.  На этой диаграмме показано трехмерное изображение биконической геометрии HSL компании Tektronix, состоящее из горизонтальных круговых срезов вдоль вертикальной оси, расширенной для удобства просмотра.  Внутри каждого кругового среза насыщенность изменяется от нуля в центре до единицы на полях, в то время как оттенок представляет собой угловое измерение, начиная с синего с нулевым оттенком, через красный с оттенком 120 градусов и зеленый с оттенком 240 градусов и обратно к синему.
Рис. 7. Графические терминалы Tektronix использовали самую раннюю коммерческую реализацию HSL в 1979 году. Эта диаграмма из патента, поданного в 1983 году, показывает геометрию биконуса, лежащую в основе модели.

Большинство телевизоров, компьютерных дисплеев и проекторов воспроизводят цвета, комбинируя красный, зеленый и синий свет разной интенсивности - так называемые аддитивные основные цвета RGB . Результирующие смеси в цветовом пространстве RGB могут воспроизводить самые разные цвета (так называемая гамма ); однако взаимосвязь между составляющими количествами красного, зеленого и синего света и результирующим цветом не интуитивно понятна, особенно для неопытных пользователей, а также для пользователей, знакомых с субтрактивным смешиванием цветов красок или традиционных моделей художников, основанных на оттенках и оттенках ( рис. . 4 ). Более того, ни аддитивные, ни субтрактивные цветовые модели не определяют цветовые отношения так же, как человеческий глаз .

Например, представьте, что у нас есть дисплей RGB, цвет которого регулируется тремя ползунками в диапазоне от 0 до 255 , один из которых управляет интенсивностью каждого из основных цветов: красного, зеленого и синего. Если мы начнем с относительно красочного апельсина , со значениями sRGB R = 217 , G = 118 , B = 33 , и вы хотите уменьшить его яркость наполовину до менее насыщенного оранжевого, нам нужно будет перетащить ползунки, чтобы уменьшить R на 31, увеличить G на 24 и увеличить B на 59, как показано на рисунке ниже.

Unintuitive-rgb.png

Пытаясь приспособить более традиционные и интуитивно понятные модели смешения цветов, пионеры компьютерной графики в PARC и NYIT представили в середине 1970-х годов модель HSV для технологии компьютерных дисплеев, официально описанную Элви Рэем Смитом в августовском выпуске журнала Computer Graphics за 1978 год . В том же номере Джоблав и Гринберг описали модель HSL, в измерениях которой они обозначили оттенок , относительную насыщенность и интенсивность, и сравнили ее с HSV ( рис. 1 ). Их модель была больше основана на том, как цвета организованы и концептуализированы в человеческом зрении с точки зрения других цветообразующих атрибутов, таких как оттенок, легкость и цветность; а также традиционные методы смешивания цветов - например, в живописи - которые включают смешивание ярко окрашенных пигментов с черным или белым для получения более светлых, темных или менее ярких цветов.

В следующем, 1979 году, на выставке SIGGRAPH компания Tektronix представила графические терминалы, использующие HSL для обозначения цветов, и Комитет по стандартам компьютерной графики рекомендовал это в своем годовом отчете о состоянии дел ( рис. 7 ). Эти модели были полезны не только потому, что они были более интуитивно понятными, чем необработанные значения RGB, но и потому, что преобразования в и из RGB были чрезвычайно быстрыми для вычисления: они могли выполняться в реальном времени на оборудовании 1970-х годов. Следовательно, эти и аналогичные модели с тех пор стали повсеместными в программном обеспечении для редактирования изображений и графики. Некоторые из их использования описаны ниже .

Формальное происхождение

Подобная блок-схеме диаграмма показывает происхождение HSL, HSV и модели яркости / цветности / оттенка.  Вверху находится «цветной куб» RGB, который на первом этапе наклоняется в угол так, чтобы черный лежал внизу, а белый - вверху.  На следующем этапе три модели расходятся, и высота красного, желтого, зеленого, голубого, синего и пурпурного цветов устанавливается на основе формулы для яркости, значения или яркости: в HSV все шесть из них помещаются в плоскость белого цвета, образующая перевернутую шестиугольную пирамиду;  в HSL все шесть размещены в плоскости посередине между белым и черным, образуя бипирамиду;  в модели яркости / цветности / оттенка высота определяется по приблизительной формуле: яркость равна 0,3 умноженным на красный плюс 0,6 умноженным на зеленый плюс 0,1 умноженным на синий.  На следующем этапе каждый горизонтальный срез HSL и HSV расширяется, чтобы заполнить шестиугольную призму одинаковой ширины, в то время как модель яркости / цветности / оттенка просто встраивается в эту призму без изменений.  На последнем этапе шестиугольные призмы всех трех моделей превращаются в цилиндры, отражающие характер определения оттенка и насыщенности или цветности.  Для получения полной информации и математического формализма прочтите оставшуюся часть этого раздела.
Рис. 8. Геометрический вывод цилиндрических HSL и HSV представлений цветового куба RGB.
Визуализированный геометрический вывод цилиндрического HSV-представления цветового куба RGB.
Визуализированный геометрический вывод цилиндрического HSL-представления цветового куба RGB.

Цветообразующие атрибуты

Размеры геометрий HSL и HSV - простые преобразования модели RGB, не основанной на восприятии, - не связаны напрямую с одноименными фотометрическими атрибутами создания цвета, как это определено такими учеными, как CIE или ASTM . Тем не менее, прежде чем переходить к выводам наших моделей, стоит пересмотреть эти определения. Следующие определения атрибутов создания цвета см .:

Оттенок
«Атрибут визуального ощущения, согласно которому область кажется похожей на один из воспринимаемых цветов : красный, желтый, зеленый и синий или на комбинацию двух из них».
Сияние ( L e, Ω )
Мощность излучения света, проходящего через конкретную поверхность на единицу телесного угла на единицу проецируемой площади, измеряется в единицах СИ в ваттах на стерадиан на квадратный метр ( Вт · ср -1 · м -2 ).
Яркость ( Y или L v, Ом )
Яркость, взвешенная по влиянию каждой длины волны на обычного человека-наблюдателя, измеряется в единицах СИ в канделах на квадратный метр ( кд / м 2 ). Часто термин яркости используется для относительной яркости , Y / Y п , где У п является яркость опорной точки белого .
Яркость ( Y ′ )
Взвешенная сумма значений R ' , G ' и B ' с гамма-коррекцией , используемых в Y'CbCr для сжатия JPEG и передачи видео.
Яркость (или значение)
«Атрибут визуального ощущения, в соответствии с которым кажется, что область излучает больше или меньше света».
Легкость
«Яркость по отношению к яркости одинаково освещенного белого».
Красочность
«Атрибут визуального ощущения, в соответствии с которым воспринимаемый цвет области кажется более или менее хроматическим».
Цветность
«Красочность по сравнению с яркостью одинаково освещенного белого».
Насыщенность
«Красочность стимула относительно его собственной яркости».

Яркость и красочность - это абсолютные меры, которые обычно описывают спектральное распределение света, попадающего в глаз, тогда как яркость и цветность измеряются относительно некоторой белой точки и, таким образом, часто используются для описания цветов поверхности, оставаясь примерно постоянными даже в качестве яркости и красочности. меняются с разным освещением . Насыщенность можно определить как отношение цветности к яркости или отношение цветности к яркости.

Основной подход

HSL, HSV и связанные модели могут быть получены с помощью геометрических стратегий или могут рассматриваться как конкретные примеры «обобщенной модели LHS». Создатели моделей HSL и HSV взяли куб RGB - с составляющими количествами красного, зеленого и синего света в цвете, обозначенном R , G , B [0, 1] - и наклонили его на угол так, чтобы черный оставался в начале координат с белым прямо над ним по вертикальной оси, затем измерили оттенок цветов в кубе по их углу вокруг этой оси, начиная с красного в 0 °. Затем они придумали характеристику яркости / значения / яркости и определили насыщенность в диапазоне от 0 по оси до 1 в наиболее яркой точке для каждой пары других параметров.

Оттенок и цветность

Когда куб RGB, наклоненный так, чтобы его белый угол находился вертикально над его черным углом, проецируется в плоскость, перпендикулярную этой нейтральной оси, он принимает форму шестиугольника с красным, желтым, зеленым, голубым, синим и пурпурным. расположены по углам против часовой стрелки.  Эта проекция определяет оттенок и насыщенность любого цвета, как описано в заголовке и тексте статьи.
Рис. 9. И оттенок, и цветность определяются на основе проекции куба RGB на шестиугольник в «плоскости цветности». Цветность - это относительный размер шестиугольника, проходящего через точку, а оттенок - это расстояние от края шестиугольника до точки.

В каждой из наших моделей мы вычисляем как оттенок, так и то, что в данной статье будет называться цветностью , после Joblove и Greenberg (1978), одинаковым образом - то есть оттенок цвета имеет одинаковые числовые значения во всех этих моделях, как и его цветность. Если мы возьмем наклоненный куб RGB и спроецируем его на « плоскость цветности », перпендикулярную нейтральной оси, наша проекция примет форму шестиугольника с красным, желтым, зеленым, голубым, синим и пурпурным по углам ( рис. . 9 ). Оттенок - это примерно угол вектора к точке в проекции, красный - 0 °, а цветность - это примерно расстояние от точки до начала координат.

Точнее, и оттенок, и цветность в этой модели определяются по отношению к шестиугольной форме проекции. Цветности является доля расстояния от начала координат до края шестиугольника. В нижней части соседней диаграммы это отношение длин OP / OP ' или, альтернативно, отношение радиусов двух шестиугольников. Это соотношение представляет собой разницу между наибольшим и наименьшим значениями R , G или B в цвете. Чтобы упростить написание наших определений, мы определим эти максимальные, минимальные и значения компонентов цветности как M , m и C соответственно.

Чтобы понять, почему цветность может быть записана как M - m , обратите внимание, что любой нейтральный цвет с R = G = B проецируется на начало координат и, следовательно, имеет 0 цветности. Таким образом, если мы добавляем или вычитаем одинаковую величину из всех трех из R , G и B , мы перемещаемся по вертикали внутри нашего наклоненного куба и не меняем проекцию. Следовательно, любые два цвета ( R , G , B ) и ( R - m , G - m , B - m ) проецируются на одну и ту же точку и имеют одинаковую цветность. Цветность цвета с одним из его компонентов, равным нулю ( m = 0), - это просто максимум двух других компонентов. Эта цветность - M в частном случае цвета с нулевым компонентом и M - m в целом.

Оттенок является доля расстояния вокруг края шестиугольника , которая проходит через точку проецируемого, первоначально измеряется на интервале [0, 1] , но в настоящее время обычно измеряется в градусах [0 °, 360 °] . Для точек, которые проецируются на начало координат в плоскости цветности (т. Е. Серые), оттенок не определен. Математически это определение оттенка записывается кусочно :

Иногда нейтральным цветам (например, с C = 0 ) присваивается оттенок 0 ° для удобства представления.

Слева изображена шестиугольная проекция, показанная ранее.  Справа каждая сторона шестиугольника была изменена на дугу окружности 60 ° с тем же радиусом.
Рис. 10. Определения оттенка и насыщенности в HSL и HSV имеют эффект деформации шестиугольников в круги.

Эти определения представляют собой геометрическое деформирование шестиугольников в окружности: каждая сторона шестиугольника линейно отображается на дуге окружности 60 ° ( рис. 10 ). После такого преобразования оттенок - это точно угол вокруг начала координат, а цветность - расстояние от начала координат: угол и величина вектора, указывающего на цвет.

Вместо измерения оттенка и цветности относительно шестиугольного края проекции куба RGB на плоскость, перпендикулярную его нейтральной оси, мы можем определить координаты цветности альфа и бета в плоскости - причем альфа указывает в направлении красного, и бета перпендикулярно к нему - а затем определите оттенок H2 и насыщенность C2 как полярные координаты этих цветов.  То есть тангенс оттенка - это бета по сравнению с альфа, а квадрат цветности - это альфа в квадрате плюс бета в квадрате.
Рис. 11. Построение прямоугольных координат цветности α и β с последующим преобразованием их в оттенок H 2 и цветность C 2 дает несколько другие значения, чем вычисление гексагонального оттенка H и цветности C : сравните числа на этой диаграмме с числами ранее в этом разделе.

Иногда для приложений анализа изображений это преобразование шестиугольника в круг пропускается, а оттенок и цветность (мы обозначим эти H 2 и C 2 ) определяются обычными преобразованиями декартовых координат в полярные ( рис. 11 ). Самый простой способ получить их - использовать пару декартовых координат цветности, которые мы назовем α и β :

(Функция atan2 , «арктангенс с двумя аргументами», вычисляет угол на основе декартовой пары координат.)

Обратите внимание, что эти два определения оттенка ( H и H 2 ) почти совпадают, с максимальной разницей между ними для любого цвета около 1,12 ° - что происходит в двенадцати определенных оттенках, например, H = 13,38 ° , H 2 = 12,26 ° - и с H = H 2 для каждого кратного 30 °. Два определения цветности ( C и C 2 ) различаются более существенно: они равны в углах нашего шестиугольника, но в точках на полпути между двумя углами, например, H = H 2 = 30 ° , мы имеем C = 1 , но C 2 = ¾ ≈ 0,866 , разница около 13,4%.

Легкость

Когда мы строим график значения HSV относительно цветности, результат, независимо от оттенка, представляет собой перевернутый равнобедренный треугольник с черным внизу и белым вверху, заключенный в квадратные скобки наиболее хроматичных цветов двух дополнительных оттенков вверху справа и слева. углы.  Когда мы наносим на график яркость HSL против цветности, в результате получается ромб, снова с черным внизу и белым вверху, но с красочными дополнениями на горизонтальных концах линии посередине между ними.  Когда мы наносим на график среднее значение компонента, иногда называемое интенсивностью HSI, против цветности, в результате получается параллелограмм, форма которого изменяется в зависимости от оттенка, поскольку наиболее хроматические цвета для каждого оттенка варьируются от одной трети до двух третей между черным и белым.  Сопоставление яркости и цветности дает параллелограмм гораздо более разнообразной формы: синий находится примерно на 10% пути от черного к белому, а его дополнительный желтый - на 90% пути;  Напротив, зеленый цвет составляет около 60 процентов пути от черного к белому, а его дополнительный пурпурный цвет составляет 40 процентов пути.
Рис. 12a – d. Четыре различных возможных измерения «легкости», нанесенные на график в зависимости от цветности, для пары дополнительных оттенков. Каждый график представляет собой вертикальное сечение трехмерного цветного тела.

Хотя определение оттенка относительно бесспорно - оно примерно удовлетворяет критерию, согласно которому цвета одного и того же воспринимаемого оттенка должны иметь одинаковый числовой оттенок - определение яркости или измерения значения менее очевидно: существует несколько возможностей в зависимости от цели и целей. представительства. Вот четыре наиболее распространенных ( рис. 12 ; три из них также показаны на рис. 8 ):

  • Самое простое определение - это просто среднее арифметическое , то есть среднее значение трех компонентов в модели HSI, называемой интенсивностью ( рис. 12a ). Это просто проекция точки на нейтральную ось - вертикальную высоту точки в нашем наклоненном кубе. Преимущество заключается в том, что вместе с вычислениями евклидова расстояния для оттенка и цветности это представление сохраняет расстояния и углы из геометрии куба RGB.
  • В модели HSV «гексикон» значение определяется как самый большой компонент цвета, наш M выше ( рис. 12b ). Это помещает все три основных цвета, а также все «вторичные цвета» - голубой, желтый и пурпурный - в плоскость с белым, образуя гексагональную пирамиду из куба RGB.
  • В модели HSL «бигексон» яркость определяется как среднее значение наибольшего и наименьшего цветовых компонентов ( рис. 12c ), то есть среднего диапазона компонентов RGB. Это определение также помещает первичный и вторичный цвета в плоскость, но плоскость проходит посередине между белым и черным. Полученное цветное твердое тело представляет собой двойной конус, подобный конусу Оствальда, показанному выше .
  • Более уместным перцептивно альтернативой является использование яркостной , Y ' , как легкость измерения ( рис. 12d ). Яркость - это средневзвешенное значение R , G и B с гамма-коррекцией , основанное на их вкладе в воспринимаемую легкость, которая долгое время использовалась в качестве монохроматического измерения в цветном телевизионном вещании. Для sRGB стандарт Rec. 709 дает Y ' 709 , цифровой NTSC использует Y' 601 в соответствии с Рек. 601 и некоторые другие основные цвета также используются, что приводит к другим коэффициентам.
    (SDTV)
    (Adobe)
    (HDTV)
    (UHDTV, HDR)

Все четыре из них оставляют нейтральную ось в покое. То есть, для цветов с R = G = B , любые из четырех составов дает легкость , равную значению R , G или B .

Для графического сравнения см. Рис. 13 ниже .

Насыщенность

Рис. 14a – d. И в HSL, и в HSV насыщенность - это просто цветность, масштабированная для заполнения интервала [0, 1] для каждой комбинации оттенка и яркости или значения.

При кодировании цветов в модели оттенок / яркость / цветность или оттенок / значение / цветность (с использованием определений из предыдущих двух разделов) не все комбинации яркости (или значения) и цветности имеют смысл: то есть половина обозначаемых цветов при использовании H ∈ [0 °, 360 °) , C ∈ [0, 1] и V ∈ [0, 1] выходят за пределы диапазона RGB (серые части срезов на рисунке 14). Создатели этих моделей посчитали это проблемой для некоторых применений. Например, в интерфейсе выбора цвета с двумя размерами в прямоугольнике и третьим на ползунке половина этого прямоугольника состоит из неиспользуемого пространства. Теперь представьте, что у нас есть ползунок для яркости: намерение пользователя при настройке этого ползунка потенциально неоднозначно: как программное обеспечение должно работать с цветами вне гаммы? Или наоборот, если пользователь выбрал как можно более красочный темно-фиолетовый, а затем сдвигает ползунок яркости вверх, что должно быть сделано: предпочтет ли пользователь видеть более светлый фиолетовый цвет по-прежнему настолько красочным, насколько это возможно для данного оттенка и яркости, Или более легкий фиолетовый точно такой же цветность, что и первоначальный цвет?

Для решения подобных проблем модели HSL и HSV масштабируют цветность так, чтобы она всегда попадала в диапазон [0, 1] для каждой комбинации оттенка и яркости или значения, вызывая новый атрибут насыщенности в обоих случаях (рис. 14 ). Чтобы вычислить любой, просто разделите цветность на максимальное значение цветности для этого значения или яркости.

Рис. 15a – b. В HSI насыщенность , показанная на срезе справа, грубо говоря, цветность относительно яркости. Также распространены модели с размерами I , H 2 , C 2 , показанные на срезе слева. Обратите внимание, что оттенок в этих срезах такой же, как и оттенок выше, но H немного отличается от H 2 .

Модель HSI, обычно используемая для компьютерного зрения, которая принимает H 2 в качестве измерения оттенка и компонент среднего I («интенсивность») в качестве измерения яркости, не пытается «заполнить» цилиндр своим определением насыщенности. Вместо того, чтобы предоставлять конечным пользователям интерфейсы выбора или модификации цвета, цель HSI - облегчить разделение форм на изображении. Таким образом, насыщенность определяется в соответствии с психометрическим определением: цветность относительно легкости ( рис. 15 ). См. Раздел « Использование при анализе изображений » в этой статье.

Использование одного и того же имени для этих трех различных определений насыщенности приводит к некоторой путанице, поскольку три атрибута описывают существенно разные цветовые отношения; в HSV и HSI этот термин примерно соответствует психометрическому определению насыщенности цвета относительно его собственной легкости, но в HSL он не подходит. Хуже того, слово насыщенность также часто используется для одного из измерений, которое мы называем выше цветностью ( C или C 2 ).

Примеры

Все значения параметров, показанные ниже, даны в процентах ( интервал [0, 1] с коэффициентом 100), за исключением значений для H и H 2, которые находятся в интервале [0 °, 360 °] .

Цвет Канал Оттенок Цветность Составная часть Luma Насыщенность
р грамм B ЧАС H 2 C C 2 V L я Y ′ 601 S V S L S I
white 100% 100% 100% N / A 00% 100% 100% 100% 100% 00%
#808080 50% 50% 50% N / A 00% 50% 50% 50% 50% 00%
black 00% 00% 00% N / A 00% 00% 00% 00% 00% 00%
red 100% 00% 00% 0 ° 100% 100% 50% 33,3% 29,9% 100%
#BFBF00 75% 75% 00% 60 ° 75% 75% 37,5% 50% 66,4% 100%
#008000 00% 50% 00% 120 ° 50% 50% 25% 16,7% 29,3% 100%
#80FFFF 50% 100% 100% 180 ° 50% 100% 75% 83,3% 85% 50% 100% 40%
#8080FF 50% 50% 100% 240 ° 50% 100% 75% 66,7% 55,7% 50% 100% 25%
#BF40BF 75% 25% 75% 300 ° 50% 75% 50% 58,3% 45,7% 66,7% 50% 57,1%
#A0A424 62,8% 64,3% 14,2% 61,8 ° 61,5 ° 50,1% 49,4% 64,3% 39,3% 47,1% 58,1% 77,9% 63,8% 69,9%
#411BEA 25,5% 10,4% 91,8% 251,1 ° 250 ° 81,4% 75% 91,8% 51,1% 42,6% 24,2% 88,7% 83,2% 75,6%
#1EAC41 11,6% 67,5% 25,5% 134,9 ° 133,8 ° 55,9% 50,4% 67,5% 39,6% 34,9% 46% 82,8% 70,7% 66,7%
#F0C80E 94,1% 78,5% 05,3% 49,5 ° 50,5 ° 88,8% 82,1% 94,1% 49,8% 59,3% 74,8% 94,4% 89,3% 91,1%
#B430E5 70,4% 18,7% 89,7% 283,7 ° 284,8 ° 71% 63,6% 89,7% 54,3% 59,6% 42,3% 79,2% 77,5% 68,6%
#ED7651 93,1% 46,3% 31,6% 14,3 ° 13,2 ° 61,5% 55,6% 93,1% 62,4% 57% 58,6% 66,1% 81,7% 44,6%
#FEF888 99,8% 97,4% 53,2% 56,9 ° 57,4 ° 46,6% 45,4% 99,8% 76,5% 83,5% 93,1% 46,7% 99,1% 36,3%
#19CB97 09,9% 79,5% 59,1% 162,4 ° 163,4 ° 69,6% 62% 79,5% 44,7% 49,5% 56,4% 87,5% 77,9% 80%
#362698 21,1% 14,9% 59,7% 248,3 ° 247,3 ° 44,8% 42% 59,7% 37,3% 31,9% 21,9% 75% 60,1% 53,3%
#7E7EB8 49,5% 49,3% 72,1% 240,5 ° 240,4 ° 22,8% 22,7% 72,1% 60,8% 57% 52% 31,6% 29% 13,5%

Использование в программном обеспечении для конечных пользователей

Рис. 16a – g. К 1990-м годам инструменты выбора цвета HSL и HSV были повсеместными. Скриншоты выше взяты из:
· (a) SGI IRIX 5, c. 1995;
· (Б) Adobe Photoshop , c. 1990;
· (C) IBM OS / 2 Warp 3, c. 1994;
· (D) Apple Macintosh System 7 , c. 1996;
· (E) Художник фрактального дизайна , c. 1993;
· (F) Microsoft Windows 3.1 , c. 1992;
· (G) NeXTSTEP , c. 1995.
Несомненно, они основаны на более ранних примерах, восходящих к PARC и NYIT в середине 1970-х годов.

Первоначальная цель HSL и HSV и подобных моделей и их наиболее распространенное текущее применение - инструменты выбора цвета . В простейшем случае некоторые такие палитры цветов предоставляют три ползунка, по одному для каждого атрибута. Однако большинство из них показывают двухмерный срез модели вместе с ползунком, управляющим отображением конкретного среза. Последний тип графического интерфейса пользователя отличается большим разнообразием благодаря выбору цилиндров, шестиугольных призм или конусов / биконусов, предлагаемых моделями (см. Диаграмму в верхней части страницы ). Справа показаны несколько средств выбора цвета из 1990-х годов, большинство из которых практически не изменилось за прошедшее время: сегодня почти каждый компьютерный селектор цвета использует HSL или HSV, по крайней мере, в качестве опции. Некоторые более сложные варианты предназначены для выбора целых наборов цветов, основываясь на своих предложениях совместимых цветов на соотношениях HSL или HSV между ними.

Большинство веб-приложений, нуждающихся в выборе цвета, также основывают свои инструменты на HSL или HSV, а для большинства основных интерфейсных веб- фреймворков существуют предварительно упакованные средства выбора цвета с открытым исходным кодом . Спецификация CSS 3 позволяет веб-авторам указывать цвета для своих страниц непосредственно с координатами HSL.

HSL и HSV иногда используются для определения градиентов для визуализации данных , например, на картах или медицинских изображениях. Например, популярная программа ГИС ArcGIS исторически применяла настраиваемые градиенты на основе HSV к числовым географическим данным.

XV hsv-модификация.png
Рис. 17. Модификатор цвета xv на основе HSV.
PS 2.5 Hue-Saturation Tool.png
Рис. 18. Инструмент оттенка / насыщенности в Photoshop 2.5, ок. 1992 г.

Программное обеспечение для редактирования изображений также обычно включает инструменты для настройки цветов со ссылкой на координаты HSL или HSV или на координаты в модели на основе «интенсивности» или яркости, определенных выше . В частности, инструменты с парой ползунков «оттенок» и «насыщенность» стали обычным явлением, начиная, по крайней мере, с конца 1980-х годов, но также были реализованы различные более сложные инструменты цвета. Например, средство просмотра изображений и редактор цвета Unix xv позволяло вращать и изменять размер шести определяемых пользователем диапазонов оттенков ( H ), включая дисковый регулятор насыщенности ( S HSV ) и интерфейс, похожий на кривые, для управления значением ( V ) - см. Рис. 17. Редактор изображений Picture Window Pro включает в себя инструмент «цветокоррекции», который обеспечивает сложное переназначение точек в плоскости оттенка / насыщенности относительно пространства HSL или HSV.

Видеоредакторы также используют эти модели. Например, и Avid, и Final Cut Pro включают инструменты цвета на основе HSL или аналогичной геометрии для использования для настройки цвета в видео. С помощью инструмента Avid пользователи выбирают вектор, щелкая точку в круге оттенка / насыщенности, чтобы сместить все цвета на некотором уровне яркости (тени, полутона, блики) по этому вектору.

Начиная с версии 4.0, Adobe Photoshop «Яркость», «Оттенок», «Насыщенность» и «Цвет» совмещает слои в режимах наложения, используя цветовую геометрию яркости / цветности / оттенка. Они были широко скопированы, но некоторые имитаторы вместо этого используют геометрию HSL (например, PhotoImpact , Paint Shop Pro ) или HSV.

Использование в анализе изображений

HSL, HSV, HSI или связанные модели часто используются в компьютерном зрении и анализе изображений для обнаружения признаков или сегментации изображений . Приложения таких инструментов включают обнаружение объектов, например, в зрении роботов ; распознавание объектов , например лиц , текста или номерных знаков ; поиск изображений по содержанию ; и анализ медицинских изображений .

По большей части алгоритмы компьютерного зрения, используемые для цветных изображений, являются прямым расширением алгоритмов, разработанных для изображений в градациях серого , например, k-средних или нечеткой кластеризации цветов пикселей или ловкого обнаружения краев . В простейшем случае каждый компонент цвета отдельно передается через один и тот же алгоритм. Поэтому важно, чтобы интересующие элементы можно было различить по используемым цветовым параметрам. Поскольку компоненты R , G и B цвета объекта в цифровом изображении все коррелируют с количеством света, падающего на объект, и, следовательно, друг с другом, описания изображения с точки зрения этих компонентов затрудняют различение объектов. Описание в терминах оттенка / легкости / насыщенности или оттенка / легкости / насыщенности часто более уместно.

Начиная с конца 1970-х годов преобразования типа HSV или HSI использовались как компромисс между эффективностью сегментации и вычислительной сложностью. Их можно рассматривать как сходные по подходу и назначению с нейронной обработкой, используемой человеческим цветовым зрением, без согласования в деталях: если целью является обнаружение объекта, грубое разделение оттенка, яркости и цветности или насыщенности эффективно, но нет особая причина строго имитировать человеческую цветовую реакцию. В магистерской диссертации Джона Кендера 1976 года была предложена модель HSI. Ohta et al. (1980) вместо этого использовали модель, состоящую из измерений, аналогичных тем, которые мы назвали I , α и β . В последние годы такие модели продолжают широко использоваться, поскольку их производительность выгодно отличается от более сложных моделей, а их вычислительная простота остается убедительной.

Недостатки

Рис. 20а. SRGB гамма отображается в CIELAB пространстве. Обратите внимание, что линии, указывающие на красный, зеленый и синий основные цвета, неравномерно распределены по углу оттенка и имеют неодинаковую длину. Первичные цвета также имеют разные значения L *.
Рис 20б. Adobe RGB цветовой гаммы отображается в CIELAB пространстве. Также обратите внимание, что эти два пространства RGB имеют разные гаммы и, следовательно, будут иметь разные представления HSL и HSV.

Хотя HSL, HSV и связанные пространства служат достаточно хорошо, например, для выбора одного цвета, они игнорируют большую часть сложности внешнего вида цвета. По сути, они приносят в жертву перцептивную релевантность для скорости вычислений, начиная с того времени в истории вычислений (высокопроизводительные графические рабочие станции 1970-х годов или потребительские настольные компьютеры середины 1990-х годов), когда более сложные модели были бы слишком дорогими в вычислительном отношении.

HSL и HSV - это простые преобразования RGB, которые сохраняют симметрии в кубе RGB, не связанные с человеческим восприятием, так что его углы R , G и B равноудалены от нейтральной оси и равномерно разнесены вокруг нее. Если мы построим цветовую гамму RGB в более однородном для восприятия пространстве, таком как CIELAB (см. Ниже ), сразу станет ясно, что красный, зеленый и синий основные цвета не имеют одинаковой яркости или цветности или равномерно распределенных оттенков. Кроме того, разные дисплеи RGB используют разные основные цвета и поэтому имеют разные гаммы. Поскольку HSL и HSV определены исключительно со ссылкой на некоторое пространство RGB, они не являются абсолютными цветовыми пространствами : для точного указания цвета требуется сообщать не только значения HSL или HSV, но и характеристики пространства RGB, на котором они основаны, включая гамма-коррекция в использовании.

Если мы возьмем изображение и выделим компоненты оттенка, насыщенности и яркости или значения, а затем сравним их с одноименными компонентами, определенными учеными-цветоводами, мы сможем быстро увидеть разницу на уровне восприятия. Например, рассмотрите следующие изображения дыхательного аппарата огня ( рис. 13 ). Оригинал находится в цветовом пространстве sRGB. CIELAB L * - это величина ахроматической яркости, определяемая CIE (зависящая исключительно от воспринимаемой ахроматической яркости Y , но не от смешанных хроматических компонентов X или Z цветового пространства CIEXYZ, из которого происходит само цветовое пространство sRGB), и это просто что это похоже на воспринимаемую легкость исходного цветного изображения. Яркость примерно одинакова, но несколько отличается в высокой цветности, где она больше всего отклоняется от зависимости исключительно от истинной ахроматической яркости ( Y или эквивалентно L *) и зависит от колориметрической цветности ( x, y или эквивалентно a *, b * компании CIELAB). HSL L и HSV V , напротив, существенно отличаются от воспринимаемой легкости.

Полноцветное изображение показывает высококонтрастную и довольно драматичную сцену огнедышащего с большим оранжево-желтым пламенем, выходящим из его губ.  Он носит темную, но яркую оранжево-красную одежду.
Рис. 13а. Цветная фотография (цветовое пространство sRGB).
Изображение в градациях серого, показывающее компонент яркости CIELAB фотографии, кажется точным воспроизведением сцены: оно выглядит примерно так, как будет выглядеть черно-белая фотография, сделанная на панхроматической пленке, с четкими деталями в пламени, которое намного ярче чем мужской костюм или фон.
Рис. 13б. CIELAB L * (преобразован обратно в sRGB для согласованного отображения).
Изображение в оттенках серого, показывающее яркость, выглядит примерно так, как изображение яркости CIELAB, но немного ярче в областях, которые изначально были очень красочными.
Рис. 13c. Рек. 601 яркость Y ' .
Изображение в градациях серого, показывающее компонентную среднюю (интенсивность HSI) фотографии, является гораздо менее убедительным факсимиле цветной фотографии с пониженным контрастом, особенно с его более темным пламенем, чем в оригинале.
Рис. 13d. Средний компонент: «интенсивность» Я .
Изображение в градациях серого, показывающее компонент значения HSV фотографии, оставляет пламя полностью белым (на языке фотографов, «потухшим»), а одежда мужчины - слишком яркой.
Рис. 13e. ВПГ значение V .
Изображение в градациях серого, показывающее компонент яркости HSL фотографии, отображает пламя примерно как средне-серый и разрушает драматический эффект оригинала, радикально уменьшая его контраст.
Рис. 13f. HSL светлота L .

Хотя ни одно из измерений в этих пространствах не соответствует их перцептивным аналогам, ценность HSV и насыщенность HSL являются особыми нарушителями. В HSV синий первичный и белый считаются имеющими одинаковое значение, даже несмотря на то, что перцептивно синий первичный цвет имеет где-то около 10% яркости белого (точная доля зависит от конкретных используемых первичных цветов RGB). В HSL это смесь 100% красного, 100% зеленого, 90% синего, то есть очень светло-желтого- имеет ту же насыщенность, что и зеленый основной , даже несмотря на то, что первый цвет почти не имеет цветности или насыщенности согласно общепринятым психометрическим определениям. Такие извращения заставили Синтию Брюер, эксперта по выбору цветовых схем для карт и информационных дисплеев, сказать Американской статистической ассоциации :

Информатика предлагает несколько более бедных собратьев этим пространствам восприятия, которые также могут появиться в вашем программном интерфейсе, например HSV и HLS. Это простые математические преобразования RGB, и они кажутся системами восприятия, потому что они используют терминологию оттенок – легкость / значение – насыщенность. Но внимательно присмотритесь; не обманывайтесь. Воспринимаемые цветовые измерения плохо масштабируются цветовыми спецификациями, которые предусмотрены в этих и некоторых других системах. Например, насыщенность и яркость смешиваются, поэтому шкала насыщенности может также содержать широкий диапазон яркости (например, она может переходить от белого к зеленому, что является комбинацией яркости и насыщенности). Аналогичным образом смешиваются оттенок и яркость, поэтому, например, насыщенный желтый и насыщенный синий могут быть обозначены как одна и та же «легкость», но имеют большие различия в воспринимаемой легкости. Эти недостатки затрудняют использование систем для систематического управления внешним видом цветовой схемы. Если для достижения желаемого эффекта требуется большая настройка, система дает мало преимуществ по сравнению с необработанными спецификациями в RGB или CMY.

Если эти проблемы делают HSL и HSV проблематичными для выбора цветов или цветовых схем, они делают их намного хуже для настройки изображения. HSL и HSV, как упоминал Брюэр, смешивают перцепционные атрибуты создания цвета, так что изменение любого измерения приводит к неоднородным изменениям всех трех перцептивных измерений и искажает все цветовые отношения в изображении. Например, поворот оттенка чистого темно-синего к зеленому также уменьшит воспринимаемую цветность и увеличит воспринимаемую легкость (последняя становится более серой и светлой), но такое же вращение оттенка будет иметь противоположное влияние на яркость и цветность более светлого голубовато-зеленого - к (последний более красочный и немного темнее). В приведенном ниже примере ( рис. 21 ) изображение слева (а) представляет собой исходную фотографию зеленой черепахи . На среднем изображении (b) мы повернули оттенок ( H ) каждого цвета на -30 ° , сохранив значение и насыщенность HSV или яркость и насыщенность HSL постоянными. На изображении справа (c) мы делаем такое же вращение для оттенка HSL / HSV каждого цвета, но затем мы заставляем яркость CIELAB ( L *, приличное приближение воспринимаемой легкости) оставаться постоянной. Обратите внимание, как средняя версия со смещенным оттенком без такой коррекции резко меняет воспринимаемые отношения яркости между цветами изображения. В частности, панцирь черепахи намного темнее и менее контрастен, а фоновая вода намного светлее.

Рис. 21а. Цветная фотография.
Рис. 21б. HSL / HSV оттенок каждого цвета сдвинут на -30 ° .
Рис. 21c. Оттенок изменился, но яркость CIELAB ( L *) осталась такой же, как в оригинале.

Поскольку оттенок - это круговая величина, представленная численно с разрывом на 360 °, его трудно использовать в статистических вычислениях или количественных сравнениях: анализ требует использования круговой статистики . Кроме того, оттенок определяется кусочно, фрагментами 60 °, где отношение яркости, значения и цветности к R , G и B зависит от рассматриваемого фрагмента оттенка. Это определение вводит неоднородности, углы, которые можно четко увидеть на горизонтальных срезах HSL или HSV.

Чарльз Пойнтон, эксперт по цифровому видео, перечисляет вышеупомянутые проблемы с HSL и HSV в своем FAQ по цвету и приходит к выводу, что:

HSB и HLS были разработаны для числового указания оттенка, насыщенности и яркости (или оттенка, яркости и насыщенности) в эпоху, когда пользователям приходилось указывать цвета численно. Обычные составы HSB и HLS имеют недостатки в отношении свойств цветного зрения. Теперь, когда пользователи могут выбирать цвета визуально или выбирать цвета, связанные с другими носителями (такими как PANTONE ), или использовать системы на основе восприятия, такие как L * u * v * и L * a * b * , следует отказаться от HSB и HLS.

Другие цветовые модели с цилиндрическими координатами

Создатели HSL и HSV были далеко не первыми, кто вообразил, что цвета вписываются в конические или сферические формы, с нейтральными оттенками, переходящими от черного к белому по центральной оси, и оттенками, соответствующими углам вокруг этой оси. Подобные устройства восходят к 18 веку и продолжают развиваться в самых современных и научных моделях.

Формулы преобразования цвета

Чтобы преобразовать из HSL или HSV в RGB, мы, по сути, инвертируем шаги, перечисленные выше (как и раньше, R , G , B [0, 1] ). Сначала мы вычисляем цветность, умножая насыщенность на максимальное значение цветности для данной яркости или значения. Затем мы находим точку на одной из трех нижних граней куба RGB, которая имеет тот же оттенок и цветность, что и наш цвет (и, следовательно, проецируется на ту же точку в плоскости цветности). Наконец, мы добавляем равное количество R , G и B, чтобы добиться нужной яркости или значения.

В RGB

HSL в RGB

Для цвета с оттенком H ∈ [0 °, 360 °] , насыщенностью S L ∈ [0, 1] и яркостью L ∈ [0, 1] мы сначала находим цветность:

Затем мы можем найти точку ( R 1 , G 1 , B 1 ) вдоль трех нижних граней куба RGB с тем же оттенком и насыщенностью, что и наш цвет (используя промежуточное значение X для второго по величине компонента этого цвета) :

В приведенном выше уравнении, обозначение относится к остальной части евклидовой деления на на 2. не обязательно является целым числом.

Когда - целое число, формула для «соседей» даст тот же результат, что и или , в зависимости от ситуации.

Наконец, мы можем найти R , G и B , добавив одинаковое количество к каждому компоненту, чтобы добиться яркости:

Альтернатива HSL в RGB

Полигональные кусочные функции можно несколько упростить, если грамотно использовать минимальные и максимальные значения, а также операцию с остатком.

Учитывая цвет с оттенком , насыщенностью и яркостью , мы сначала определяем функцию:

где и:

И выходные значения R, G, B (из ):

Приведенные выше альтернативные формулы допускают более короткие реализации. В приведенных выше формулах операция также возвращает дробную часть модуля, например , и .

Базовая форма построена следующим образом: это «треугольник», для которого значения, большие или равные -1, начинаются с k = 2 и заканчиваются на k = 10, а самая высокая точка находится в k = 6. Затем мы меняем значения больше 1 на равные 1. Затем меняем значения меньше -1 на равные -1. На этом этапе мы получаем нечто похожее на красную фигуру на рис. 24 после вертикального переворота (где максимум равен 1, а минимум равен -1). Функции R, G, B использования этой формы трансформируются следующим образом: сдвиг по модулю на (на ) (по-разному для R, G, B), масштабирование на (на ) и сдвиг на (на ).

Мы наблюдаем следующие свойства формы (рис. 24 может помочь получить представление о них):

HSV в RGB

Рис. 24. Графическое представление координат RGB с заданными значениями для HSV. Это уравнение показывает происхождение отмеченных значений вертикальной оси.

Для HSV-цвета с оттенком H ∈ [0 °, 360 °] , насыщенностью S V ∈ [0, 1] и значением V ∈ [0, 1] мы можем использовать ту же стратегию. Сначала находим цветность:

Затем мы снова можем найти точку ( R 1 , G 1 , B 1 ) вдоль трех нижних граней куба RGB с тем же оттенком и насыщенностью, что и наш цвет (используя промежуточное значение X для второго по величине компонента этот цвет):

Как и раньше, когда - целое число, «соседние» формулы дадут тот же результат.

Наконец, мы можем найти R , G и B , добавив одинаковое количество к каждому компоненту, чтобы соответствовать значению:

Альтернатива HSV в RGB

Учитывая цвет с оттенком , насыщенностью и значением , сначала мы определяем функцию:

где и:

И выходные значения R, G, B (из ):

Вышеупомянутые альтернативные эквивалентные формулы позволяют более короткую реализацию. В приведенных выше формулах возвращается также дробная часть модуля, например формула . Значения . Базовая форма

строится следующим образом: это «треугольник», для которого неотрицательные значения начинаются с k = 0, наивысшая точка при k = 2 и «заканчивается» при k = 4, затем мы меняем значения больше одного на одно , затем меняем отрицательные значения к нулю с помощью - и мы получаем (для ) что-то похожее на зеленую фигуру из рис. 24 (максимальное значение равно 1, а минимальное значение 0). Функции R, G, B использования этой формы трансформируются следующим образом: сдвиг по модулю на (на ) (по-разному для R, G, B), масштабирование на (на ) и сдвиг на (на ). Мы наблюдаем следующие свойства формы (рис. 24 может помочь понять это):

HSI в RGB

Учитывая цвет HSI с оттенком H ∈ [0 °, 360 °] , насыщенностью S I ∈ [0, 1] и интенсивностью I ∈ [0, 1] , мы можем использовать ту же стратегию, но немного в другом порядке:

Где цветность.

Затем мы снова можем найти точку ( R 1 , G 1 , B 1 ) вдоль трех нижних граней куба RGB с тем же оттенком и насыщенностью, что и наш цвет (используя промежуточное значение X для второго по величине компонента этот цвет):

Перекрытие (когда является целым числом) происходит потому, что два способа вычисления значения эквивалентны: или , в зависимости от ситуации.

Наконец, мы можем найти R , G и B , добавив одинаковое количество к каждому компоненту, чтобы добиться яркости:

Яркость, цветность и оттенок в RGB

Для цвета с оттенком H ∈ [0 °, 360 °] , насыщенностью C ∈ [0, 1] и яркостью Y601 ∈ [0, 1] мы снова можем использовать ту же стратегию. Поскольку у нас уже есть H и C , мы можем сразу найти нашу точку ( R 1 , G 1 , B 1 ) вдоль трех нижних граней куба RGB:

Перекрытие (когда является целым числом) происходит потому, что два способа вычисления значения эквивалентны: или , в зависимости от ситуации.

Затем мы можем найти R , G и B , добавив одинаковое количество к каждому компоненту, чтобы соответствовать яркости:

Взаимное преобразование

HSV в HSL

Учитывая цвет с оттенком , насыщенностью и значением ,

HSL в HSV

Учитывая цвет с оттенком , насыщенностью и яркостью ,

Из RGB

Это повторение предыдущего преобразования.

Значение должно быть в диапазоне .

С максимальной составляющей (т.е. значением)

и минимальный компонент

,

диапазон (например, цветность)

и средний диапазон (т.е. легкость)

,

получаем общий оттенок:

и четкая насыщенность:

Образцы

Наведите указатель мыши на образцы ниже, чтобы увидеть значения R , G и B для каждого образца во всплывающей подсказке .

HSL

H = 180 °
(голубой)
H = 0 °
(красный)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H = 210 °
(голубой-голубой)
H = 30 °
(желто-красный)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H = 240 °
(синий)
H = 60 °
(желтый)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H = 270 °
(пурпурный-синий)
H = 90 °
(зеленый-желтый)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H = 300 °
(пурпурный)
H = 120 °
(зеленый)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H = 330 °
(красный-пурпурный)
H = 150 °
(голубой-зеленый)
S
L
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  


HSV

H  = 180 °
(голубой)
H  = 0 °
(красный)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H  = 210 °
(голубой-голубой)
H  = 30 °
(желто-красный)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H  = 240 °
(синий)
H  = 60 °
(желтый)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H  = 270 °
(пурпурный-синий)
H  = 90 °
(зеленый-желтый)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H  = 300 °
(пурпурный)
H  = 120 °
(зеленый)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  
H  = 330 °
(красный-пурпурный)
H  = 150 °
(голубой-зеленый)
S
V
1 34 12 14 0 14 12 34 1
1                  
78                  
34                  
58                  
12                  
38                  
14                  
18                  
0                  


Примечания

использованная литература

Библиография

  • Агостон, Макс К. (2005). Компьютерная графика и геометрическое моделирование: реализация и алгоритмы . Лондон: Спрингер. С. 300–306. ISBN 978-1-85233-818-3.Книга Агостона содержит описание HSV и HSL, а также алгоритмы в псевдокоде для преобразования каждого из них из RGB и обратно.
  • Ченг, Хэн-Да; Цзян, Сихуа; Солнце, Анжела; Ван, Цзинли (2001). «Сегментация цветного изображения: достижения и перспективы». Распознавание образов . 34 (12): 2259. CiteSeerX  10.1.1.119.2886 . DOI : 10.1016 / S0031-3203 (00) 00149-7 . Этот обзор литературы по компьютерному зрению кратко резюмирует исследования в области сегментации цветных изображений, в том числе с использованием представлений HSV и HSI.
  • Фэйрчайлд, Марк Д. (2005). Цветные модели внешнего вида (2-е изд.). Эддисон-Уэсли. Эта книга не обсуждает конкретно HSL или HSV, но является одним из наиболее удобочитаемых и точных ресурсов по современной науке о цвете.
  • Фоли, JD ; и другие. (1995). Компьютерная графика: принципы и практика (2-е изд.). Редвуд-Сити, Калифорния: Эддисон-Уэсли. ISBN 978-0-201-84840-3.Стандартная компьютерная графика учебник 1990 - х лет, этот фолиант имеет главу полные алгоритмов для преобразования между цветовыми моделями, в C .
  • Ханбери, Аллан; Серра, Жан (декабрь 2002 г.). Цветное представление трехмерных полярных координат, подходящее для анализа изображений . Технический отчет Группы распознавания образов и обработки изображений 77 . Вена, Австрия: Венский технологический университет.
  • Хэнбери, Аллан (2008). «Построение цилиндрических координатных цветовых пространств» (PDF) . Письма о распознавании образов . 29 (4): 494–500. CiteSeerX  10.1.1.211.6425 . DOI : 10.1016 / j.patrec.2007.11.002 .
  • Joblove, Джордж H .; Гринберг, Дональд (август 1978 г.). «Цветовые пространства для компьютерной графики» (PDF) . Компьютерная графика . 12 (3): 20–25. DOI : 10.1145 / 965139.807362 . Работа Джоблава и Гринберга была первой, описывающей модель HSL, которую она сравнивает с HSV.
  • Куехни, Рольф Г. (2003). Цветовое пространство и его подразделения: порядок цвета от античности до наших дней . Нью-Йорк: Вили. ISBN 978-0-471-32670-0. В этой книге только кратко упоминаются HSL и HSV, но она представляет собой исчерпывающее описание систем порядка цвета на протяжении истории.
  • Левковиц, Хаим; Герман, Габор Т. (1993). «GLHS: Обобщенная цветовая модель яркости, оттенка и насыщенности». CVGIP: Графические модели и обработка изображений . 55 (4): 271–285. DOI : 10.1006 / cgip.1993.1019 .В этой статье объясняется, как HSL и HSV, а также другие аналогичные модели можно рассматривать как конкретные варианты более общей модели «GLHS». Левковиц и Герман предоставляют псевдокод для преобразования из RGB в GLHS и обратно.
  • МакЭвой, Брюс (январь 2010 г.). «Цветовое зрение» . handprint.com .. Особенно разделы о «Современные цветовые модели» и «Современная теория цвета» . Обширный сайт MacEvoy о науке о цвете и смешивании красок - один из лучших ресурсов в Интернете. На этой странице он объясняет атрибуты создания цвета, а также общие цели и историю систем порядка цвета, включая HSL и HSV, а также их практическое значение для художников.
  • Пойнтон, Чарльз (1997). «Часто задаваемые вопросы о цвете» . poynton.com . Эта самоиздаваемая страница часто задаваемых вопросов, созданная экспертом по цифровому видео Чарльзом Пойнтоном, объясняет, среди прочего, почему, по его мнению, эти модели «бесполезны для определения точного цвета» и от них следует отказаться в пользу более психометрически релевантных моделей. .
  • Пойнтон, Чарльз (2008). « YUV и яркость считаются вредными» . poynton.com . Проверено 30 августа 2017 года .
  • Смит, Элви Рэй (август 1978 г.). «Пары преобразования цветовой гаммы». Компьютерная графика . 12 (3): 12–19. DOI : 10.1145 / 965139.807361 .Это оригинальная статья, описывающая «гексиконовую» модель HSV. Смит был исследователем в лаборатории компьютерной графики NYIT . Он описывает использование HSV в ранней программе цифровой живописи .

внешние ссылки