HSL и HSV - HSL and HSV
HSL (для оттенка, насыщенности, яркости ) и HSV (для оттенка, насыщенности, значения ; также известный как HSB , для оттенка, насыщенности, яркости ) являются альтернативными представлениями цветовой модели RGB , разработанной в 1970-х годах исследователями компьютерной графики для большего точно соответствует тому, как человеческое зрение воспринимает цветообразующие атрибуты. В этих моделях цвета каждого оттенка расположены в радиальном срезе вокруг центральной оси нейтральных цветов, которая варьируется от черного внизу до белого вверху.
Представление HSL моделирует то, как разные краски смешиваются вместе, чтобы создать цвет в реальном мире, с измерением яркости, напоминающим разное количество черной или белой краски в смеси (например, для создания «светло-красного» красный пигмент может быть смешан с белая краска (эта белая краска соответствует высокому значению «светлоты» в представлении HSL). Полностью насыщенные цвета помещаются по кругу со значением яркости 1/2, а значение яркости 0 или 1 соответствует полностью черному или белому цвету соответственно.
Между тем, представление HSV моделирует, как цвета появляются при свете. Разница между HSL и HSV заключается в том, что цвет с максимальной яркостью в HSL является чисто белым, но цвет с максимальным значением / яркостью в HSV аналогичен освещению белым светом цветного объекта (например, освещению ярким белым светом красного объект заставляет объект по-прежнему казаться красным, только ярче и интенсивнее, в то время как тусклый свет на красный объект заставляет объект казаться темнее и менее ярким).
Проблема как с HSV, так и с HSL заключается в том, что эти подходы не позволяют эффективно разделить цвет на три составляющих ценности в соответствии с человеческим восприятием цвета. Это можно увидеть, если изменить настройки насыщенности - довольно легко заметить разницу в воспринимаемой легкости, несмотря на то, что настройка «V» или «L» зафиксирована.
Основной принцип
HSL и HSV имеют цилиндрическую форму ( рис.2 ), с оттенком, их угловым размером, начиная с красного первичного элемента при 0 °, проходящего через зеленый первичный элемент при 120 ° и синий первичный элемент при 240 °, а затем возвращаясь к красный на 360 °. В каждой геометрии центральная вертикальная ось содержит нейтральный , ахроматический или серый цвета в диапазоне сверху вниз от белого при яркости 1 (значение 1) до черного при яркости 0 (значение 0).
В обеих геометриях дополнительные первичный и вторичный цвета - красный, желтый , зеленый, голубой , синий и пурпурный - и линейные смеси между соседними парами из них, иногда называемые чистыми цветами , расположены вокруг внешнего края цилиндра с насыщенностью 1. Эти насыщенные цвета имеют яркость 0,5 в HSL, в то время как в HSV они имеют значение 1. Смешивание этих чистых цветов с черным - создание так называемых оттенков - оставляет насыщенность неизменной. В HSL насыщенность также не изменяется при окрашивании белым, и только смеси с черным и белым, называемые тонами, имеют насыщенность менее 1. В HSV только тонирование снижает насыщенность.
Потому что эти определения насыщенности - в которых очень темные (в обеих моделях) или очень светлые (в HSL) почти нейтральные цвета считаются полностью насыщенными (например, снизу справа в нарезанном цилиндре HSL или сверху справа) - конфликт с интуитивным представлением о чистоте цвета, вместо этого часто рисуется коническое или биконическое твердое тело ( рис. 3 ), радиальное измерение которого в данной статье называется цветностью (равным диапазону значений RGB) вместо насыщенности (где насыщенность равна цветности по максимальной цветности в этом срезе (би) конуса). Что сбивает с толку, такие диаграммы обычно обозначают это радиальное измерение как «насыщенность», размывая или стирая различие между насыщенностью и цветностью. Как описано ниже , вычисление цветности является полезным шагом при выводе каждой модели. Поскольку такая промежуточная модель - с размерами оттенка, цветности и значения HSV или яркости HSL - принимает форму конуса или биконуса, HSV часто называют «гексиконической моделью», а HSL часто называют «бигексиконной моделью» ( рис.8 ).
Мотивация
Цветовое пространство HSL было изобретено для телевидения в 1938 году Жоржем Валенси в качестве метода добавления цветового кодирования к существующим монохромным (то есть содержащим только L-сигнал) трансляциям, позволяя существующим приемникам принимать новые цветные трансляции (в черно-белом) без каких-либо модификаций. яркости (черный и белый) сигнал передается без изменений. Он использовался во всех основных системах кодирования аналогового телевещания, включая NTSC , PAL и SECAM, а также во всех основных системах цифрового вещания и является основой для композитного видео .
Большинство телевизоров, компьютерных дисплеев и проекторов воспроизводят цвета, комбинируя красный, зеленый и синий свет разной интенсивности - так называемые аддитивные основные цвета RGB . Результирующие смеси в цветовом пространстве RGB могут воспроизводить самые разные цвета (так называемая гамма ); однако взаимосвязь между составляющими количествами красного, зеленого и синего света и результирующим цветом не интуитивно понятна, особенно для неопытных пользователей, а также для пользователей, знакомых с субтрактивным смешиванием цветов красок или традиционных моделей художников, основанных на оттенках и оттенках ( рис. . 4 ). Более того, ни аддитивные, ни субтрактивные цветовые модели не определяют цветовые отношения так же, как человеческий глаз .
Например, представьте, что у нас есть дисплей RGB, цвет которого регулируется тремя ползунками в диапазоне от 0 до 255 , один из которых управляет интенсивностью каждого из основных цветов: красного, зеленого и синего. Если мы начнем с относительно красочного апельсина , со значениями sRGB R = 217 , G = 118 , B = 33 , и вы хотите уменьшить его яркость наполовину до менее насыщенного оранжевого , нам нужно будет перетащить ползунки, чтобы уменьшить R на 31, увеличить G на 24 и увеличить B на 59, как показано на рисунке ниже.
Пытаясь приспособить более традиционные и интуитивно понятные модели смешения цветов, пионеры компьютерной графики в PARC и NYIT представили в середине 1970-х годов модель HSV для технологии компьютерных дисплеев, официально описанную Элви Рэем Смитом в августовском выпуске журнала Computer Graphics за 1978 год . В том же номере Джоблав и Гринберг описали модель HSL, в измерениях которой они обозначили оттенок , относительную насыщенность и интенсивность, и сравнили ее с HSV ( рис. 1 ). Их модель была больше основана на том, как цвета организованы и концептуализированы в человеческом зрении с точки зрения других цветообразующих атрибутов, таких как оттенок, легкость и цветность; а также традиционные методы смешивания цветов - например, в живописи - которые включают смешивание ярко окрашенных пигментов с черным или белым для получения более светлых, темных или менее ярких цветов.
В следующем, 1979 году, на выставке SIGGRAPH компания Tektronix представила графические терминалы, использующие HSL для обозначения цветов, и Комитет по стандартам компьютерной графики рекомендовал это в своем годовом отчете о состоянии дел ( рис. 7 ). Эти модели были полезны не только потому, что они были более интуитивно понятными, чем необработанные значения RGB, но и потому, что преобразования в и из RGB были чрезвычайно быстрыми для вычисления: они могли выполняться в реальном времени на оборудовании 1970-х годов. Следовательно, эти и аналогичные модели с тех пор стали повсеместными в программном обеспечении для редактирования изображений и графики. Некоторые из их использования описаны ниже .
Формальное происхождение
Цветообразующие атрибуты
Размеры геометрий 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 в наиболее яркой точке для каждой пары других параметров.
Оттенок и цветность
В каждой из наших моделей мы вычисляем как оттенок, так и то, что в данной статье будет называться цветностью , после 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 ). После такого преобразования оттенок - это точно угол вокруг начала координат, а цветность - расстояние от начала координат: угол и величина вектора, указывающего на цвет.
Иногда для приложений анализа изображений это преобразование шестиугольника в круг пропускается, а оттенок и цветность (мы обозначим эти 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%.
Легкость
Хотя определение оттенка относительно бесспорно - оно примерно удовлетворяет критерию, согласно которому цвета одного и того же воспринимаемого оттенка должны иметь одинаковый числовой оттенок - определение яркости или измерения значения менее очевидно: существует несколько возможностей в зависимости от цели и целей. представительства. Вот четыре наиболее распространенных ( рис. 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 ниже .
Насыщенность
При кодировании цветов в модели оттенок / яркость / цветность или оттенок / значение / цветность (с использованием определений из предыдущих двух разделов) не все комбинации яркости (или значения) и цветности имеют смысл: то есть половина обозначаемых цветов при использовании H ∈ [0 °, 360 °) , C ∈ [0, 1] и V ∈ [0, 1] выходят за пределы диапазона RGB (серые части срезов на рисунке 14). Создатели этих моделей посчитали это проблемой для некоторых применений. Например, в интерфейсе выбора цвета с двумя размерами в прямоугольнике и третьим на ползунке половина этого прямоугольника состоит из неиспользуемого пространства. Теперь представьте, что у нас есть ползунок для яркости: намерение пользователя при настройке этого ползунка потенциально неоднозначно: как программное обеспечение должно работать с цветами вне гаммы? Или наоборот, если пользователь выбрал как можно более красочный темно-фиолетовый , а затем сдвигает ползунок яркости вверх, что должно быть сделано: предпочтет ли пользователь видеть более светлый фиолетовый цвет по-прежнему настолько красочным, насколько это возможно для данного оттенка и яркости , Или более легкий фиолетовый точно такой же цветность, что и первоначальный цвет ?
Для решения подобных проблем модели HSL и HSV масштабируют цветность так, чтобы она всегда попадала в диапазон [0, 1] для каждой комбинации оттенка и яркости или значения, вызывая новый атрибут насыщенности в обоих случаях (рис. 14 ). Чтобы вычислить любой, просто разделите цветность на максимальное значение цветности для этого значения или яркости.
Модель 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 | 0% | 100% | 100% | 100% | 100% | 0% | ||||
#808080
|
50% | 50% | 50% | N / A | 0% | 50% | 50% | 50% | 50% | 0% | ||||
black
|
0% | 0% | 0% | N / A | 0% | 0% | 0% | 0% | 0% | 0% | ||||
red
|
100% | 0% | 0% | 0 ° | 100% | 100% | 50% | 33,3% | 29,9% | 100% | ||||
#BFBF00
|
75% | 75% | 0% | 60 ° | 75% | 75% | 37,5% | 50% | 66,4% | 100% | ||||
#008000
|
0% | 50% | 0% | 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% | 5,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
|
9,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% |
Использование в программном обеспечении для конечных пользователей
Первоначальная цель HSL и HSV и подобных моделей и их наиболее распространенное текущее применение - инструменты выбора цвета . В простейшем случае некоторые такие палитры цветов предоставляют три ползунка, по одному для каждого атрибута. Однако большинство из них показывают двухмерный срез модели вместе с ползунком, управляющим отображением конкретного среза. Последний тип графического интерфейса пользователя отличается большим разнообразием благодаря выбору цилиндров, шестиугольных призм или конусов / биконусов, предлагаемых моделями (см. Диаграмму в верхней части страницы ). Справа показаны несколько средств выбора цвета из 1990-х годов, большинство из которых практически не изменилось за прошедшее время: сегодня почти каждый компьютерный селектор цвета использует HSL или HSV, по крайней мере, в качестве опции. Некоторые более сложные варианты предназначены для выбора целых наборов цветов, основываясь на своих предложениях совместимых цветов на соотношениях HSL или HSV между ними.
Большинство веб-приложений, нуждающихся в выборе цвета, также основывают свои инструменты на HSL или HSV, а для большинства основных интерфейсных веб- фреймворков существуют предварительно упакованные средства выбора цвета с открытым исходным кодом . Спецификация CSS 3 позволяет веб-авторам указывать цвета для своих страниц непосредственно с координатами HSL.
HSL и HSV иногда используются для определения градиентов для визуализации данных , например, на картах или медицинских изображениях. Например, популярная программа ГИС ArcGIS исторически применяла настраиваемые градиенты на основе HSV к числовым географическим данным.
Программное обеспечение для редактирования изображений также обычно включает инструменты для настройки цветов со ссылкой на координаты 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 , α и β . В последние годы такие модели продолжают широко использоваться, поскольку их производительность выгодно отличается от более сложных моделей, а их вычислительная простота остается убедительной.
Недостатки
Хотя 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 , напротив, существенно отличаются от воспринимаемой легкости.
Хотя ни одно из измерений в этих пространствах не соответствует их перцептивным аналогам, ценность 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 *, приличное приближение воспринимаемой легкости) оставаться постоянной. Обратите внимание, как средняя версия со смещенным оттенком без такой коррекции резко меняет воспринимаемые отношения яркости между цветами изображения. В частности, панцирь черепахи намного темнее и менее контрастен, а фоновая вода намного светлее.
Поскольку оттенок - это круговая величина, представленная численно с разрывом на 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
Для 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] и яркостью Y ′ 601 ∈ [0, 1] мы снова можем использовать ту же стратегию. Поскольку у нас уже есть H и C , мы можем сразу найти нашу точку ( R 1 , G 1 , B 1 ) вдоль трех нижних граней куба RGB:
Перекрытие (когда является целым числом) происходит потому, что два способа вычисления значения эквивалентны: или , в зависимости от ситуации.
Затем мы можем найти R , G и B , добавив одинаковое количество к каждому компоненту, чтобы соответствовать яркости:
Взаимное преобразование
HSV в HSL
Учитывая цвет с оттенком , насыщенностью и значением ,
HSL в HSV
Учитывая цвет с оттенком , насыщенностью и яркостью ,
Из RGB
Это повторение предыдущего преобразования.
Значение должно быть в диапазоне .
С максимальной составляющей (т.е. значением)
и минимальный компонент
- ,
диапазон (например, цветность)
и средний диапазон (т.е. легкость)
- ,
получаем общий оттенок:
и четкая насыщенность:
Образцы
Наведите указатель мыши на образцы ниже, чтобы увидеть значения R , G и B для каждого образца во всплывающей подсказке .
HSL
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
HSV
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Примечания
использованная литература
Библиография
- Агостон, Макс К. (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 в ранней программе цифровой живописи .
внешние ссылки
- Демонстрационный апплет преобразования цвета
- Цвета HSV Гектора Зенила, Демонстрационный проект Вольфрама .
- Из HSV в RGB с помощью CodeBeautify.