Как я могу рассчитать (эквивалент черного тела) цветовую температуру источника света, освещающего данное изображение? Ниже приведены скриншоты Adobe Lightroom, управляющие цветовой температурой и смещением гистограмм RGB. Учитывая RGB-компоненты изображения, как мне рассчитать его? Я должен ожидать единственное значение - температура, эквивалентная черному телу источника освещения, верно?
image-processing
color
Лорд лох
источник
источник
Ответы:
Эта статья (скачать в формате pdf) дает следующие формулы для расчета коррелированной цветовой температуры (CCT). Они прямо не говорят (или я пропустил это), но их пример приводит меня к выводу, что они принимают значения RGB в диапазоне 0-255.
1. Преобразуйте значения RGB в значения CIE tristimulus (XYZ) следующим образом:
2. Рассчитать нормализованные значения цветности:
3. Вычислите значение CCT из:
Который может быть объединен, чтобы сформировать следующее уравнение:
Я не уверен насчет применения этого к изображению, но если вам нужно только одно обобщающее число, чем вы могли бы использовать какое-то усреднение? Либо найдите приемлемое «среднее» значение RGB для изображения (например, центроид) и используйте его для расчета температуры, либо (гораздо более дорогостоящий вариант) рассчитайте температуру для каждого пикселя в изображении и возьмите среднее из этих результатов. ,
Кроме того, имейте в виду, что CCT является лишь приблизительной метрикой для большинства цветов, поскольку только одна кривая в цветовом пространстве фактически представляет цвет, который можно получить из реального излучателя черного тела. Таким образом, для всех других цветов рассчитанная цветовая температура является просто приближением температуры черного тела, которую оно представляет наиболее близко. Таким образом, для некоторых цветов (особенно зеленых) это может быть несколько бессмысленным значением, по крайней мере, в физическом смысле. Это хорошо видно на следующем рисунке (из статьи в Википедии о цветовой температуре ).
Черная линия на изображении представляет собой планковский локус цветов, которые фактически могут быть получены излучением блочного тела. Меньшие линии пересечения представляют изотермы приближения CCT поблизости.
Кроме того, поскольку ваш вопрос конкретно относится к Adobe Lightroom, я нашел это во время поиска:
Имейте в виду, что цветовая температура, которую вы видите на слайдере Lightroom, не будет такой же, как рассчитанная по приведенным выше формулам.
источник
Я рассчитал некоторые цвета в соответствии с вашими формулами, и, как я вижу, в некоторых случаях это работает, а в некоторых других - например, красный (255 0 0) и синий (0 0 255) - дает неправильный ответ:
тем не мение:
красный (255 0 0): n = 2,1497, CCT = 40938,6 K -> кажется неправильным
синий (0 0 255): n = -1.1148, CCT = 1672.45 K ->, похоже, неправильно
источник