У цьому документі (завантаження у форматі PDF) наведені наступні формули для розрахунку корельованої колірної температури (CCT). Вони прямо не кажуть (або я це пропустив), але їх приклад приводить мене до висновку, що вони приймають значення RGB у діапазоні 0-255.
1. Перетворіть значення RGB в тристімульні значення CIE (XYZ) наступним чином:
Х= ( - 0,14282 ) ( R ) + ( 1,54924 ) ( G ) + ( - 0,95641 ) ( B )
Y= ( - 0,32466 ) ( R ) + ( 1,57837 ) ( G ) + ( - 0,73191 ) ( B ) = Il l u m i n a n c e
Z= ( - 0,68202 ) ( R ) + ( 0,77073 ) ( G ) + ( 0,56332 ) ( B )
2. Обчисліть нормовані значення хроматичності:
x = X/ (X+ Y+ Z)
у= Y/ (X+ Y+ Z)
3. Обчисліть значення CCT з:
ССТ= 449 н3+ 3525 н2+ 6823,3 n + 5520,33
де n = ( x - 0,3320 ) / ( 0,1858 - y)
Які можуть бути об'єднані, щоб утворити таке рівняння:
ССТ= 449 н3+ 3525 н2+ 6823,3 n + 5520,33
де n = ( ( 0,23881 ) R + ( 0,25499 ) G + ( - 0,58291 ) В )/ ((0,11109)R+(-0,85406)G+(0,52289)Б)
Я не впевнений у застосуванні цього до зображення, але якщо ви хочете лише одного, узагальнюючого числа, ніж ви могли б використати якесь усереднення? Або знайдіть прийнятне "середнє" значення RGB для зображення (наприклад, центроїд) і скористайтеся цим для обчислення температури або (набагато більш обчислювально дорогий варіант) обчисліть температуру для кожного пікселя на зображенні та отримайте середнє значення цих результатів .
Також майте на увазі, що CCT - це лише приблизна метрика для більшості кольорів, оскільки лише одна крива в кольоровому просторі насправді являє собою колір, який можна отримати з реального радіатора чорного кузова. Таким чином, для всіх інших кольорів обчислена кольорова температура є просто наближенням температури чорного тіла, яку вона найбільш близько представляє. Таким чином, для деяких кольорів (особливо зелених) це насправді може бути дещо безглуздою цінністю, принаймні у фізичному сенсі. Це добре проілюстровано на наступному зображенні (зі статті вікіпедії про кольорову температуру ).
Чорна лінія на зображенні позначає плацківський локус кольорів, які фактично можуть бути отримані блоком випромінювання тіла. Менші лінії перетину являють собою ізотерми наближення CCT поблизу.
Крім того, оскільки ваше питання стосується конкретно Adobe Lightroom, я знайшов це під час пошуку:
Повзунки [в Adobe Lightroom] регулюють не темп темпу світла тіла, а компенсацію, застосовану до зображення, щоб компенсувати темп темпу світла тіла. Це йде навпаки.
Тож майте на увазі, що кольорова температура, яку ви бачите на слайдері Lightroom, не буде такою ж, як у розрахунку за наведеними вище формулами.