Цветовая модель HSL и HSV

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

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

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

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

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

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

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

В попытке уместить более традиционные и интуитивно понятные модели смешивания цветов, пионеры компьютерной графики в PARC и NYIT разработали модель HSV в середине 1970-х годов, официально описанную Alvy Ray Smith в выпуске компьютерной графики от августа 1978 года. В том же выпуске Джоблоу и Гринберг описали модель HSL, размеры которой они обозначали как оттенок, относительную цветность и интенсивность, и сравнивали ее с HSV. Их модель была основана скорее на том, как цвета организованы и концептуализированы в человеческом видении с точки зрения других цветообразующих атрибутов, таких как оттенок, легкость и цветность; а также традиционными способами смешивания цветов, например, в живописи, которые включают смешивание ярко окрашенных пигментов с черным или белым, чтобы получить более светлые, темные или менее яркие цвета.

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

Формальный вывод

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

оттенок
«Атрибут визуального ощущения, согласно которому область кажется похожей на один из воспринимаемых цветов: красный, желтый, зеленый и синий, или комбинация двух из них».

Сияние (Le, Ω)
Лучистая мощность света, проходящего через определенную поверхность на единицу телесного угла на единицу прогнозируемой площади, измеренная в единицах СИ в ватт на стерадиан за квадратный метр (W • sr-1 • м-2).

Яркость (Y или Lv, Ω)
Сияние, взвешенное по эффекту каждой длины волны на типичном человеческом наблюдателе, измеренное в единицах СИ в канделах на квадратный метр (кд / м2). Часто термин яркости используется для относительной яркости, Y / Yn, где Yn является яркость опорной точки белого.

Luma (Y ‘)
Весовая сумма значений коррекции R ‘, G’ и B ‘с гамма-коррекцией и используется в Y’CbCr для сжатия JPEG и передачи видео.

яркость
«Атрибут визуального ощущения, согласно которому область, кажется, излучает больше или меньше света».

Легкость, ценность
«Яркость относительно яркости аналогично освещенного белого».

красочность
«Атрибут визуального ощущения, согласно которому воспринимаемый цвет области кажется более или менее хроматическим».

цветность
«Цветность по отношению к яркости аналогично освещенного белого».

насыщение
«Красочность стимула относительно его собственной яркости».

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

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

В каждой из наших моделей мы вычисляем как оттенок, так и то, что эта статья будет называть цветностью после Джоблова и Гринберга (1978), таким же образом, то есть оттенок цвета имеет одинаковые численные значения во всех этих моделях, как и его цветность. Если мы возьмем наш наклонный кубик RGB и проецируем его на «плоскость цветности», перпендикулярную нейтральной оси, наша проекция примет форму шестиугольника с красным, желтым, зеленым, голубым, синим и пурпурным в углах. Хюэ — это примерно угол вектора к точке проекции, с красным при 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), является просто максимумом двух других компонентов. Эта цветность есть М в частном случае цвета с нулевой компонентой, а М — т вообще.

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

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

Вместо того, чтобы измерять оттенок и цветность относительно гексагонального края проекции куба RGB в плоскость, перпендикулярную его нейтральной оси, мы можем определить координаты цветности альфа и бета в плоскости — с альфой, направленной в направлении красного, и бета перпендикулярно ему, а затем определить оттенок H2 и цветность C2 в качестве полярных координат. То есть тангенс оттенка является бета-версией по альфе, а квадрат цветности — квадрат альфа плюс бета-квадрат.

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

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

расторопность
Когда мы определяем значение HSV против цветности, результат, независимо от оттенка, представляет собой перевернутый равнобедренный треугольник с черным снизу, а белый в верхней части заключен в скобки с самыми цветными цветами двух дополнительных оттенков в верхнем правом и левом углы. Когда мы строим светлость HSL против цветности, результатом является ромб, снова с черным внизу и белый сверху, но с яркими дополнениями на горизонтальных концах линии на полпути между ними. Когда мы составляем среднее значение компонента, иногда называемое интенсивностью HSI, против цветности, результатом является параллелограмм, форма которого изменяется в зависимости от оттенка, так как самые хроматические цвета для каждого оттенка варьируются от одной трети до двух третей между черным и белым. Гравировка яркости против цветности дает параллелограмм гораздо более разнообразной формы: синий лежит примерно на 10 процентов пути от черного до белого, в то время как его желтое дополнение находится на 90 процентов пути туда; напротив, зеленый цвет составляет около 60 процентов пути от черного до белого, в то время как его пурпурный состав составляет 40 процентов пути оттуда.

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

Самое простое определение — это просто среднее из трех компонентов, в модели HSI, называемой интенсивностью. Это просто проекция точки на нейтральную ось — вертикальную высоту точки в нашем наклонном кубе. Преимущество состоит в том, что наряду с расчетами оттенков и цветности на евклидовом расстоянии это представление сохраняет расстояния и углы от геометрии куба RGB.

I = \ textstyle {\ frac {1} {3}} (R + G + B), \, \!» aria-hidden =

В модели HSX «hexcone» значение определяется как самый большой компонент цвета, наш M выше. Это помещает все три праймера, а также все «второстепенные цвета» — циана, желтого и пурпурного — в плоскость с белым, образуя гексагональную пирамиду из куба RGB.

В модели HSL «bi-hexcone» легкость определяется как среднее из самых больших и наименьших цветовых компонентов. Это определение также помещает первичный и вторичный цвета в плоскость, но плоскость проходит на полпути между белым и черным. Получающееся в результате цветное твердое тело представляет собой двойной конус, подобный Оствальду, показанный выше.
L = \ textstyle {\ frac {1} {2}} (м + т) \, \!» aria-hidden =
Более восприимчивой альтернативой является использование яркости Y ‘в качестве измерения легкости. Luma — это взвешенное среднее значение гамма-коррекции R, G и B, основанное на их вкладе в воспринимаемую легкость, долгое время используемое в качестве монохроматического измерения в цветном телевизионном вещании. Для Рек. 709 праймериз, используемых в sRGB, Y’709 = 0.21R + 0.72G + 0.07B; для Рек. 601 праймериз NTSC, Y’601 ≈ 0.30R + 0.59G + 0.11B; для других праймериз следует использовать разные коэффициенты.

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

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

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

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


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

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

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

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

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

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

Начиная с версии 4.0, композиции Adobe Photoshop «Luminosity», «Hue», «Saturation» и «Color» смешивают составные слои с использованием цветовой геометрии яркости / цветности / оттенка. Они были скопированы широко, но несколько имитаторов используют вместо этого HSL (например, PhotoImpact, Paint Shop Pro) или HSV (например, GIMP).

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

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

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

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

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