за что отвечает канал h в цветовом пространстве hsv
Русские Блоги
Понимание цветового пространства RGB и цветового пространства HSV
Понимание цветового пространства RGB и цветового пространства HSV
Структура этой статьи следующая:
1. Цветовое пространство RGB
2. Цветовое пространство HSV (с таблицей диапазонов компонентов цвета HSV)
3. Демонстрация преобразования RGB в HSV
Используйте OpenCV для перехода от RGB к HSV и динамически устанавливайте порог HSV с помощью ползунка
Напишите свою собственную программу для достижения RGB в HSL
Цветовое пространство 1.RGB
Цветовое пространство RGB получено из цветного телевизора с использованием электронно-лучевой трубки.RGB представляет три основных цвета (R-красный, G-зеленый и B-синий), а конкретное значение цвета формируется наложением трех основных цветов. При обработке изображений мы часто используем векторы для представления значений цвета, например (0,0,0) для черного и (255, 255, 255) для белого. Среди них 255 означает, что цветовое пространство квантовано на 255 чисел, и наибольшее значение яркости равно 255 (255 = 2 ^ 8-1, то есть каждый цветовой канал представлен 8 битами). В этом цветовом пространстве 256 * 256 * 256 цветов. Цветовое пространство RGB показано ниже (рисунок из энциклопедии Baidu). Это трехмерное пространство, содержащее красный, зеленый и синий.
2. HSV цветовое пространство
Цветовое пространство HSV (Hue-Hue, Saturation-Saturation, Value-value) разлагает яркость цвета и широко используется в алгоритмах улучшения изображения. В проектах обработки изображений, к которым я прикасался, я часто преобразовывал изображение из цветового пространства RGB в цветовое пространство HSV, чтобы лучше воспринимать цвет изображения, и использовал компоненты HSV для выделения областей интереса из изображения.
Цветовое пространство HSV также называется HSB (оттенок, насыщенность, яркость) и часто используется в PS.
Цветовое пространство HSV показано ниже, с перевернутым конусом, представляющим все цветовое пространство:
Примечание:
1. Диапазон H равен [0, 360), а диапазон S и V равен [0, 1]. Но в OpenCV HSV, по-видимому, нормализован до [0, 255], здесь для руководства.
2. Кроме того, кто-то в Интернете суммировал диапазон компонентов RGB, соответствующий цвету HSV, см. таблицу ниже. Ссылка от:
http://www.cnblogs.com/wangyblzu/p/5710715.html
http://blog.csdn.net/taily_duan/article/details/51506776
3. Демонстрация преобразования RGB в HSV
(1) Используйте OpenCV cv2.cvtColor (src, cv2.COLOR_BGR2HSV)
OpenCV предоставляет нам готовую функцию cvtColor (), чтобы помочь нам конвертировать изображения из BGR в HSV.
Довольно красивая девушка, оказалась такой. Некоторые начинающие, в том числе и я, иногда спрашивают, почему вы хотите преобразовать хорошие картинки в цветовые пространства HSV. На самом деле, это очень полезно, например, если мы хотим извлечь область волос красоты, мы можем сделать это, установив верхний и нижний пороги цветового пространства HSV.
Эффект запуска программы заключается в следующем. Мы видим, что область волос отображается белым цветом, поэтому мы изначально удалили область волос. Конечно, этот эффект не идеален, потому что порог, который мы устанавливаем, не хорош, если порог можно установить динамически.
Мы можем использовать ползунок, чтобы динамически установить порог, и перетаскивать ползунок, наблюдая за изображением. OpenCV предоставляет createTrackbar () для создания ползунков. Код выглядит следующим образом:
Эффект запуска программы заключается в следующем: мы автоматически изменим верхний и нижний порог HSV, потянув ползунок, и область изображения, извлеченная в соответствии с верхним и нижним порогом, также изменится:
(2) Напишите свою собственную программу для достижения RGB в HSL
(Если вы хотите конвертировать в HSV) Значение h обычно нормализуется и составляет от 0 до 360 °. И h = 0 используется, когда max = min (то есть серый) вместо того, чтобы оставить h неопределенным. HSL и HSV имеют одинаковое определение оттенка, но другие компоненты отличаются. Значения s и v цвета HSV определяются следующим образом:
Согласно приведенной выше формуле, мы можем записать код RGB в HSV:
Результаты выполнения программы следующие:
Может быть основан на Таблица цветовых кодов Чтобы определить, верны ли наши результаты
Вложение:
1. Формула HSV для RGB
Аналогично дано в ВПГ (ч, с,
v) цвет, определенный значением, где h, как указано выше, и s и v представляют насыщенность и яркость в диапазоне от 0 до 1, соответствующие в пространстве RGB ( г, г,
b) Три основных цвета можно рассчитать как (R, G, B варьируется от 0 до 1):
Для каждого цветового вектора (r, g, b)
(Ссылка из Википедии)
2. Формула RGB для серого
Краткое описание:
Эта статья содержит следующие разделы:
1. Понимание цветового пространства RGB и HSV
2. Преобразование RGB в HSV достигается с помощью OpenCV, включая небольшой пример с использованием ползунка
3. В соответствии с формулой RGB-HSL я запрограммировал программу RGB-HSL.
Интеллектуальная рекомендация
URL-тур
URL-тур Во всем процессе он может быть примерно разделен на следующие процессы. DNS-анализ домена TCP соединение HTTP-запрос Запрос процессов Возвращает ответ HTTP Рендеринг страницы Выключить соедине.
Руководство по обзору кода на основе GitLab
Luo Valley P3809 (вопросы массива суффикса)
phpMyAdmin сообщает об ошибках на главной странице
[Феномен]: phpMyAdmin сообщает о фатальной ошибке: необученная ошибка: вызов неопределенной функции mb_detect_encoding () [Анализ причины]: На этой домашней странице следует подумать, открыты ли библи.
Что такое алгоритм фильтра Блума?
Нажмите вышеСинее словоУстановить звезду Начнем сегодняшнее исследование
Цветовые пространства: большой разбор
Всё, что нужно знать о CMYK, RGB, HSL, HSB, LAB и чистых градиентах.
Для работы с цветом необходимо хорошо понимать, как он устроен. Есть системы представления цвета, с которыми дизайнер сталкивается каждый день. Но есть и другие, не столь популярные модели. Разберёмся, как они устроены, чем отличаются и как эти знания можно применить на практике.
Ведущий интерфейсный дизайнер в K&K TEAM, увлечён дизайном, технологиями и людьми. В свободное время ведёт Telegram-канал «Karoza Ҩ»
Воспроизводимые представления цвета
Цветовые модели RGB и CMYK соответствуют физическому представлению цвета на носителе. RGB отвечает за то, с какой интенсивностью светятся диоды красного, зелёного и синего цветов внутри пикселя монитора. CMYK задает пропорции смешиваемой краски на листе бумаги.
Цветовое пространство CMYK — субтрактивное: если сложить все цветовые компоненты, то итоговый цвет будет чёрным. По этому же принципу работают обычные краски, а потому пространство CMYK используется в полиграфии. Через процентные соотношения в нём записаны пропорции смешения четырёх красок: бирюзовой ( Cian), пурпурной ( Magenta), жёлтой ( Yellow) и чёрной ( Key color, blac K). Интенсивность каждого цвета задаётся в процентах от 0 до 100.
Дизайнеры, работающие с печатью, знают, что не все видимые на экране цвета возможно воспроизвести в CMYK. Связано это с тем, что модель RGB ― с ней работает монитор ― построена на излучении света, а CMYK ― на поглощении.
Для более точного отображения цветов при печати требуется допечатная подготовка. Во время неё экранные цвета пространства RGB переводятся в CMYK, чтобы получаемые оттенки на экране и бумаге были максимально приближены друг к другу.
Pantone — американская компания, основанная в 50-е годы в Нью-Йорке и занимающаяся производством пигментов и продажей чернил. Компания разработала систему стандартизации цветов Pantone Matching System (PMS), в которой каждому цвету присваивается специальный код.
Поскольку не все цвета можно воспроизвести в CMYK наложением четырёх стандартных красок во время печати, в полиграфии существует дополнительная палитра Pantone. Например, серый и жёлтый, которые Pantone выбрала в качестве цветов 2021 года, получить наложением палитры CMYK на листе невозможно.
Выбор цветов Pantone шире, потому что его на бумагу наносят одной краской, тон которой получен смешением пигментов ещё на фабрике. Также цвета Pantone используют при печати больших тиражей в один-три цвета.
PMS — Pantone Matching System — система подбора цвета, но не цветовое пространство, так как у цветов есть код, но нет значений цветовых координат.
CMYK используется в полиграфии для печати фотографий и цветных иллюстраций, небольших тиражей, а также в домашних и офисных принтерах.
RGB ― это цветовое пространство, здесь каждый цвет задаётся в виде трёх координат. Смешение цвета происходит по аддитивному принципу ― если сложить все три основных цвета, то результат будет не чёрным, а белым. Поэтому RGB используется в системах, построенных на излучении света, что делает её самой распространённой ― с ней работают все экраны.
Цветовой оттенок в RGB создаётся смешиванием красного ( Red), зелёного ( Green) и синего ( Blue) каналов с разной интенсивностью излучения. Яркость каждого из трёх основных цветов закодирована числом от 0 до 255, то есть занимает 256 бит или 32 байта.
Например, RGB (90, 0, 157) соответствует фиолетовому, а RGB (255, 223, 0) — жёлтому.
Для удобства записи придуманы HEX-коды обозначения цветов, в которых интенсивность каждого из трёх цветов задаётся через двузначное число в шестнадцатеричной системе, что даёт те же 256 комбинаций или 32 байта, ведь
16 × 16 = 256.
В шестнадцатеричной системе цифры обозначаются от 0 до F, в результате
HEX-коды выглядят вот так: #5A009D — фиолетовый, #FFDF00 — жёлтый. Преимущество такой записи ― стандартизация и удобство копирования короткого цветового значения.
Иногда HEX-код в CSS или графических редакторах содержит только три знака, в таком случае каждый второй символ в записи с овпадает с первым. То есть #F45 интерпретируется как #FF4455, #000 — #00000.
Поскольку с цветовым пространством RGB работают все экраны, то применяется оно практически везде ― от разработки макетов для печати (цвета переводятся в CMYK в самом финале) до разработки сайтов и интерфейсов.
Свойства цвета
Перед тем как перейти к следующему разделу, нужно разобраться в некоторых определениях колористики — науки, изучающей свойства цвета.
Важные понятия
Цветовой тон (Hue) — положение цвета в видимом спектре. Человеческий глаз различает цвета от красного до фиолетового, цветовой тон ― это место цвета в спектре. Красный, оранжевый, жёлтый, зелёный, голубой, синий, фиолетовый — всё это цветовые тона.
Насыщенность (Saturation) — интенсивность цвета, красочность, степень отличия цвета от равного по светлоте серого. Чем ближе цвет к серому, тем он менее насыщенный.
Яркость (Brightness) — приближённость цвета к чёрному. Чем ниже яркость, тем цвет темнее. Нередко яркость путают с насыщенностью, но это разные характеристики.
Цилиндрические цветовые пространства
Модель RGB технически подходит для компьютеров и экранов, но в этом пространстве сложно работать, если нужно изменить что-то одно ― яркость, насыщенность или цветовой тон.
Допустим, мы используем синий цвет RGB (63, 42, 255), но для второго макета нам нужен более тёмный синий того же тона или же зелёный той же яркости и насыщенности. При изменении одной характеристики изменились сразу три параметра: синий теперь имеет значения RGB (18, 12, 77), а зелёный —
RGB (67, 255, 42).
Поэтому в программах для дизайнеров цветовой тон настраивается полоской, а яркость и насыщенность ― через цветовое поле.
Координаты цвета существуют в кубической системе RGB, но в графических редакторах управление цветом реализовано с использованием другой модели ― цилиндрической версии RGB, которая называется HSB или HSV.
В HSB цветовой тон ( Hue) задаётся в градусах на цветовом круге от 0° до 360°, а насыщенность ( Saturation) и яркость ( Brightness) в процентах от 0% до 100%.
Чтобы получить в HSB чёрный, надо уменьшить яркость до 0%, а тон и насыщенность не важны. Для получения белого нужно понизить насыщенность до 0% — то есть приблизить цвет к серому, а яркость повысить до 100%. Для получения чистых цветов яркость и насыщенность должны быть 100%.
Иногда цветовое пространство HSB называют HSV ( H ue — цветовой тон, S aturation — насыщенность, V alue — значение). Не стоит путаться — это альтернативное название, а не другое цветовое пространство.
В CSS помимо HEX-кодов RGB применяют цилиндрическое цветовое пространство HSL, где вместо яркости ( Вrightness) используется светлота ( Lightness). HSB и HSL очень похожи, но не идентичны.
Главное отличие HSL в том, что при любых значениях тона и насыщенности светлота в 0% даст чёрный, а светлота в 100% — белый. В HSB 100% последнего параметра ― яркости — даёт наиболее яркий цвет, а белый возможен, только если насыщенность равна нулю.
То есть светлота в HSL отвечает за примесь чёрного или белого, освещённость. При конвертации цвета из системы HSL в HSB изменение параметра L будет влиять на два параметра сразу — S и B, неизменным сохранится только цветовой тон — H.
Цилиндрические цветовые пространства полезны в ситуациях, когда нужно управлять только одним из параметров цвета. Например, для создания палитры, где изменение основного цвета приводит к изменению цветового тона, насыщенности или светлоте дополнительных. В этом случае дополнительные цвета необходимо задавать через отклонения от основного в цилиндрической цветовой системе.
В новой философии дизайна Material You компании Google цвета интерфейса подстраиваются под цвет обоев рабочего стола. Вполне возможно, что для такой автоматической подстройки применяют алгоритмы, использующие цилиндрическое цветовое пространство.
Дано: пользователи двух статусов.
Задача: автоматически создавать аватары пользователям с учётом их статуса. У одних пользователей должны быть светлые буквы на тёмном фоне, а у других — тёмные буквы на светлом.
Для изменения цветового тона необходимо изменить параметр Hue, а остальные параметры сохранить. Для светлого фона используем значения HSL: [0–360°], 100%, 78%, а для тёмного — HSL: [0–360°], 100%, 30%.
В результате цветовой тон аватарок генерируется автоматически с заданной светлотой, а буквы на них хорошо читаются.
LAB и LCh
Одна из проблем пространств RGB и CMYK состоит в том, что это просто
набор значений, которыми должно оперировать устройство вывода ― принтер или экран. Реальное отображение цвета, заданного в RGB и CMYK, зависит от множества факторов. При печати ― от качества краски и печатного оборудования, плотности бумаги, влажности воздуха. На экранах — от качества монитора и его калибровки. Не говоря уже о том, что освещение также влияет на фактическое восприятие цвета глазом.
Создатели CIELAB, также известно как LAB, преследовали цель спроектировать такое цветовое пространство, которое не будет привязано к конкретному устройству и покроет весь видимый спектр. Также было важно, чтобы изменение значений координат было нелинейным и приводило к изменению цвета по логике, близкой к осознанию цвета человеком.
Значения цвета в LAB задаются через светлоту ( Lightness) и две координаты, отвечающие за хроматическую составляющую: тон и насыщенность.
A — положение цвета в диапазоне от зелёного до красного, B — от синего до жёлтого.
Параметр L варьируется от 0 до 100, а параметры A и B в большинстве сервисов для работы с LAB имеют значения от −128 до 128, поскольку координаты A и B обозначают не просто интенсивность какого-то цвета, а спектр между двумя цветами.
Система достаточно сложная, но можно попытаться представить её как смешение четырёх цветов — зелёного, красного, синего и жёлтого. На самом насыщенном срезе цветового пространства со светлотой 100 по углам находятся: зелёный — LAB (100, −128, 128), красный — LAB (100, 128, 128), фиолетовый — LAB (100, 128, −128), бирюзовый — LAB (100, −128, −128), а в самом центре белый —
LAB (100, 0, 0). Как и в случае с RGB, настраивать цветовой тон удобнее в цилиндрической версии LAB — LCh.
Цилиндрическая версия LAB называется LCh, вместо прямоугольных в ней используются полярные координаты. Параметр C ( Chroma — хроматическая составляющая, насыщенность) отвечает за длину радиуса и удалённость от центра цветового круга, а h ( Hue) за угол поворота в градусах — то есть цветовой тон.
LAB используют как промежуточное цветовое пространство для конвертирования RGB в CMYK и наоборот, поскольку оно не привязано к конкретному носителю.
В цветокоррекции его применяют, чтобы быстро убрать желтизну или усилить естественные цвета фотографии. Некоторые цветокорректоры предпочитают LAB, если с его помощью внести изменения будет проще, нежели через корректирующие слои.
Также ранее LAB использовали для удаления шума на цифровых фотографиях. Для этого достаточно было размыть цветовые каналы A или B, а поскольку цифровой шум состоит из бледных разноцветных точек, такой подход делал их менее насыщенными.
Отдельное преимущество LAB — возможности для создания чистых градиентов между насыщенными цветами. Красивые градиенты важны не только в проектировании интерфейсов и дизайн-макетов, но и в информационном дизайне.
Задача: создать чистый градиент между насыщенными цветами.
Проблема: из-за технических нюансов RGB между некоторыми насыщенными цветами при построении градиента возникает странный сероватый оттенок.
Пояснение: в кубической визуализации RGB самые насыщенные цвета расположены на углах куба, а центр занят ненасыщенными сероватыми тонами. Если создавать градиент из цветов, которые находятся на противоположных углах или гранях куба, прямая пройдет через ненасыщенную середину. Так произойдёт, например, с градиентами от фиолетового к зелёному или от жёлтого к синему.
Решение: использовать LAB-градиент.
Открываем Lch and Lab colour and gradient picker, выбираем два цвета, между которыми надо сделать переход, и вводим желаемое количество ступеней.
Копируем цвета из колонки Lab и переносим в редактор, делая линейный градиент из выбранного количества шагов.
Если в качестве редактора вы используете Figma, то нужно установить плагин Chromatic Figma, который автоматически исправляет градиенты через LAB. Результат будет немного отличаться от инструмента Дэвида Джонстона.
За что отвечает канал h в цветовом пространстве hsv
Тема лекции: Цветовые системы 20 века. Система HSV.
Модель также может иметь название HSB (Hue, Saturation, Brightness).
Цветовое пространство, определяемое моделью, представляет собой шестигранный конус. Основание конуса соответствует значению V = 1; цвета при этом имеют максимальную интенсивность. Плоскость с постоянным значением V представляет собой куб в пространстве RGB. Величина H выражается углом, отсчитанным от красного. Цвета идут в спектральном порядке и замыкаются пурпурным. Величина S меняется от нуля на оси конуса, до единицы на его гранях. Т.к. насыщенность измеряется относительно цветового охвата, задаваемого моделью, а не относительно графика XYZ, поэтому это не то же самое, что чистота.
Геометрическая модель системы HSV получается из следующих соображений. Если цветовой куб RGB спроецировать на плоскость, перпендикулярную диагонали, на которой в RGB-кубе расположены значения яркости (оттенки серого от черного до белого), то получается правильный шестиугольник с красным, желтым, зеленым, голубым, синим и пурпурным цветами в вершинах. При снижении насыщенности RGB цветов уменьшается размер и цветовой охват RGB-куба. При этом соответствующая шестиугольная проекция также будет меньше. Если проекции собрать вокруг оси яркости V, то получится перевернутый объемный шестигранный конус HSV, показанный на рисунке ниже.
Визуализация HSV в прикладном ПО
Модель HSV часто используется в программах компьютерной графики, так как удобна для человека. Ниже указаны способы «разворачивания» трёхмерного пространства HSV на двухмерный экран компьютера.
Цветовой круг
Эта визуализация состоит из цветового круга (то есть, поперечного сечения цилиндра) и движка яркости (высоты цилиндра). Эта визуализация получила широкую известность по первым версиям ПО компании Corel. На данный момент применяется чрезвычайно редко, чаще используют кольцевую модель («а-ля Macromedia»):
Цветовое кольцо
Оттенок (тон) представляется в виде радужного кольца, а насыщенность и значение (яркость) цвета выбираются при помощи вписанного в это кольцо треугольника. Его вертикальная ось, как правило, регулирует насыщенность, а горизонтальная позволяет изменять значение (яркость) цвета. Таким образом, для выбора цвета нужно сначала указать оттенок (тон), а потом выбрать нужный цвет из треугольника.
Изменение одного компонента
На этих двух диаграммах показываются цвета, различающиеся только одним компонентом.
Три уровня яркости при увеличивающейся насыщенности.
Три уровня насыщенности при увеличивающейся яркости.
Матрица соседних оттенков
HSV и восприятие цвета
Часто художники предпочитают использовать HSV вместо других моделей, таких как RGB и CMYK, потому что они считают, что устройство HSV ближе к человеческому восприятию цветов. RGB и CMYK определяют цвет как комбинацию основных цветов (красного, зелёного и синего или жёлтого, розового, голубого и чёрного соответственно), в то время как компоненты цвета в HSV отображают информацию о цвете в более привычной человеку форме: Что это за цвет? Насколько он насыщенный? Насколько он светлый или тёмный? Цветовое пространство HSL представляет цвет похожим и даже, возможно, более интуитивно понятным образом, чем HSV.
Несколько сравнительных диаграмм HSV и HSL
Формулы преобразования RGB в HSV тут внизу страницы.
Недостатки системы HSV
2) цветовые значения округлены (основные цвета варьируются только от 0 до 255º);
3) не логична (бессмысленная чёрная ось);
4) цвета в палитре не равноудалены (слишком много цветов в области чёрного);
5) цветовой круг правильный, но в центре не находится нейтральный серый.