ae_ 2 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба 44 minutes ago, ViKo said: Никогда. Низ картинки весь разбавлен белым. А верх весь разбавлен чёрным. Максимальная насыщенность — "цветность", выкрученная на максимум, насколько позволяют другие параметры. Вот цилиндр цветовой схемы HSL. Минимальная насыщенность на оси цилиндра, там всё в градациях серого. Максимальная — на внешней боковой стороне, куда "приклеена" картинка ТС'а. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 167 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба 6 часов назад, ae_ сказал: это развёртка боковой поверхности цилиндра HSL(HSI) при S=100%. Координата X — это угол 0-360°, он задаёт цв.тон - Hue Координата Y — это интенсивность или светлость(не яркость) - Lightness Тогда координаты должны называться H и L, а не X и Y — и то, и другое уже давно занято. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ae_ 2 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба Я ответил в терминах ТС'а из первого поста. Там, как я понял, XY — это координаты пикселя из его картинки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 167 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба На предыдущей странице автор за что-то извинился и заменил двумерную картинку одномерной, у которой координата одна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Женек=- 0 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба 5 hours ago, ViKo said: Никогда. Низ картинки весь разбавлен белым. Я поступил проще. Загрузил картинку во флеш и просто определяю цвет пикселя в координатах. Нерационально конечно, но место во флеши есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 2 января, 2021 Опубликовано 2 января, 2021 · Жалоба 7 часов назад, ae_ сказал: Максимальная насыщенность — "цветность", выкрученная на максимум, насколько позволяют другие параметры. Максимальная насыщенность - когда хотя бы один из цветов равен 0. Когда же все 3 цвета ненулевые, тогда и насыщенность спадает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ae_ 2 3 января, 2021 Опубликовано 3 января, 2021 · Жалоба 18 hours ago, ae_ said: Насыщенность - Saturation для этой картинки всегда =100% 12 hours ago, ViKo said: Никогда. Низ картинки весь разбавлен белым. ... Максимальная насыщенность - когда хотя бы один из цветов равен 0. Когда же все 3 цвета ненулевые, тогда и насыщенность спадает. Я предложил формулы перевода точки 3D пространства с координатами HSL в цвет RGB. Но у автора только 2D картинка, поэтому в формулах подставляем H=X; L=Y; S=100%. Именно это я имел ввиду, что для всей картинки насыщенность всегда берём =100% при расчётах. Что до субъективной насыщенности, я считаю только средняя линия имеет максимальную насыщенность, один цвет обязательно =0 и один цвет обязательно =255. При уходе в белый или чёрный насыщенность падает. Способ показать, что высветление/затемнение ограничивает насыщенность, цилиндр усекают до сдвоенного конуса и термин "насыщенность" заменяют на "цветность": Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hale 1 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба загружаете в фотошо, считываете в пространстве sRGB, это стандартное пространство для большинства форматов в отсутствие встроенного профиля. по аналоговому изображению без спектроколориметра и полного профилирования всей цепочки вывода вы никак не вычислите стандартных значений RGB. см. Argyll CMS, color.org. на тех же ресурсах моно поискать описание кривых компрессии для конвертации значений из файла в линейное представление без фотошопа. При условии что картнка была создана без таблиц трансляции в профиле, т.е. чистый TIFF, или JPG без icc. При работе в Wide Gamut icc обычно сохраняют во избежание разночтений; но считывание без icc приведет к некорректным цветам. Есть еще одна особенность. На самом деле в JPEG есть тэг sRGB. Если отсутствует и этот тег и данные icc, то с подачи Adobe и Canon стало принято считать такие фотографии Adobe RGB по умолчанию. Соответственно коррекция в ваше (квазилинейное https://en.wikipedia.org/wiki/CIE_1931_color_space) пространсво меняется. ae_, совершенно верно. причем не самый информативный срез. В 80х такие картинки использовались для теста оборудования... при проблемах появлялся или бандинг, или цвета скакали при перполенинии значений Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Droid 77 0 5 января, 2021 Опубликовано 5 января, 2021 (изменено) · Жалоба 03.01.2021 в 05:22, ae_ сказал: Я предложил формулы перевода точки 3D пространства с координатами HSL в цвет RGB. Но у автора только 2D картинка, поэтому в формулах подставляем H=X; L=Y; S=100%. Именно это я имел ввиду, что для всей картинки насыщенность всегда берём =100% при расчётах. Почти в точку. Только вот насыщенность (saturation) принимать как максимальное значение ошибочно. Так как по данному значению определяется именно насыщенность цветовой гаммы. Расчет изображений в формате HLS популярен в машинном зрении. И похоже автор темы движется именно в этом направлении. Изменено 5 января, 2021 пользователем Droid 77 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ae_ 2 5 января, 2021 Опубликовано 5 января, 2021 · Жалоба 2 hours ago, Droid 77 said: Только вот насыщенность (saturation) принимать как максимальное значение ошибочно. Так как по данному значению определяется именно насыщенность цветовой гаммы. Вы голословно назвали моё решение ошибочным, но не показали своё правильное решение. Автор уже решил вопрос табличным способом, загрузив картинку целиком в память и читая из неё значения RGB по нужным координатам. Изначально вопрос был как вычислить эти значения без таблицы, алгоритмически. Я привёл формулы, как из координат XY растровой картинки получить значения RGB этой точки. В этих формулах HSL to RGB значение S нужно принять за константу =1 (100%). По ссылкам никто не ходит, продублирую здесь: 0 ≤ H < 360, 0 ≤ S ≤ 1, 0 ≤ L ≤ 1 C = (1 - |2L - 1|) × S // Вот здесь насыщенность можно просто убрать из формулы при работе с 2D картинкой X = C × (1 - |(H / 60°) mod 2 - 1|) m = L - C/2 (R,G,B) = ((R'+m)×255, (G'+m)×255, (B'+m)×255) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться