Эта статья (скачать в формате pdf) дает следующие формулы для расчета коррелированной цветовой температуры (CCT). Они прямо не говорят (или я пропустил это), но их пример приводит меня к выводу, что они принимают значения RGB в диапазоне 0-255.
1. Преобразуйте значения RGB в значения CIE tristimulus (XYZ) следующим образом:
Икс= ( - 0,14282 ) ( R ) + ( 1,54924 ) ( G ) + ( - 0,95641 ) ( B )
Y= ( - 0,32466 ) ( R ) + ( 1,57837 ) ( G ) + ( - 0,73191 ) ( В ) = Ял л у м я н н с й
Z= ( - 0,68202 ) ( R ) + ( 0,77073 ) ( G ) + ( 0,56332 ) ( B )
2. Рассчитать нормализованные значения цветности:
х = х/ (X+ Y+ Z)
Y= Y/ (X+ Y+ Z)
3. Вычислите значение CCT из:
ССT= 449 н3+ 3525 n2+ 6823,3 n + 5520,33
где n = ( х - 0,3320 ) / ( 0,1858 - у)
Который может быть объединен, чтобы сформировать следующее уравнение:
ССT= 449 н3+ 3525 n2+ 6823,3 n + 5520,33
где n = ( ( 0,23881 ) R + ( 0,25499 ) G + ( - 0,58291 ) B )/ ((0,11109)R+(-0,85406)G+(0,52289)B)
Я не уверен насчет применения этого к изображению, но если вам нужно только одно обобщающее число, чем вы могли бы использовать какое-то усреднение? Либо найдите приемлемое «среднее» значение RGB для изображения (например, центроид) и используйте его для расчета температуры, либо (гораздо более дорогостоящий вариант) рассчитайте температуру для каждого пикселя в изображении и возьмите среднее из этих результатов. ,
Кроме того, имейте в виду, что CCT является лишь приблизительной метрикой для большинства цветов, поскольку только одна кривая в цветовом пространстве фактически представляет цвет, который можно получить из реального излучателя черного тела. Таким образом, для всех других цветов рассчитанная цветовая температура является просто приближением температуры черного тела, которую оно представляет наиболее близко. Таким образом, для некоторых цветов (особенно зеленых) это может быть несколько бессмысленным значением, по крайней мере, в физическом смысле. Это хорошо видно на следующем рисунке (из статьи в Википедии о цветовой температуре ).
Черная линия на изображении представляет собой планковский локус цветов, которые фактически могут быть получены излучением блочного тела. Меньшие линии пересечения представляют изотермы приближения CCT поблизости.
Кроме того, поскольку ваш вопрос конкретно относится к Adobe Lightroom, я нашел это во время поиска:
Ползунки [в Adobe Lightroom] регулируют не температуру черного тела при освещении, а компенсацию, применяемую к изображению для компенсации температуры черного тела при освещении. Это идет наоборот.
Имейте в виду, что цветовая температура, которую вы видите на слайдере Lightroom, не будет такой же, как рассчитанная по приведенным выше формулам.