Este documento (descarga en pdf) proporciona las siguientes fórmulas para calcular la temperatura de color correlacionada (CCT). No dicen explícitamente (o me lo perdí), pero su ejemplo me lleva a inferir que están asumiendo valores RGB en el rango de 0-255.
1. Convierta los valores RGB a valores de triestímulo CIE (XYZ) de la siguiente manera:
X= ( - 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. Calcule los valores de cromaticidad normalizados:
x = X/ (X+ Y+ Z)
y= Y/ (X+ Y+ Z)
3. Calcule el valor de CCT a partir de:
CCT= 449 n3+ 3525 n2+ 6823.3 n + 5520.33
donde n = ( x - 0.3320 ) / ( 0.1858 - y)
Que se puede combinar para formar la siguiente ecuación:
CCT= 449 n3+ 3525 n2+ 6823.3 n + 5520.33
donde n = ( ( 0.23881 ) R + ( 0.25499 ) G + ( - 0.58291 ) B )/ ((0.11109)R+(-0.85406)G+(0.52289)B)
No estoy seguro de aplicar esto a una imagen, pero si solo desea un único número generalizador, ¿podría usar algún tipo de promedio? Encuentre un valor RGB "promedio" aceptable para la imagen (por ejemplo, el centroide) y úselo para calcular una temperatura o (una opción mucho más costosa computacionalmente) calcule la temperatura para cada píxel en la imagen y tome el promedio de esos resultados .
Además, tenga en cuenta que CCT es solo una métrica aproximada para la mayoría de los colores, ya que solo una sola curva en el espacio de color representa el color que se puede obtener de un radiador de cuerpo negro del mundo real. Por lo tanto, para todos los demás colores, la temperatura de color calculada es simplemente una aproximación de la temperatura del cuerpo negro que más se representa. Por lo tanto, para algunos colores (especialmente los verdes) en realidad puede ser un valor algo sin sentido, al menos en un sentido físico. Esto se ilustra bien en la siguiente imagen (del artículo de Wikipedia sobre la temperatura del color ).
La línea negra en la imagen representa el Locus de colores de Planckian que en realidad podría ser producido por la radiación corporal en bloque. Las líneas de cruce más pequeñas representan las isotermas de la aproximación CCT cerca del adiós.
Además, dado que su pregunta hace referencia específicamente a Adobe Lightroom, encontré esto mientras buscaba:
Los controles deslizantes [en Adobe Lightroom] no ajustan la temperatura del cuerpo negro de la luz, sino la compensación aplicada a la imagen para compensar la temperatura del cuerpo negro de la luz. Esto va al revés.
Tenga en cuenta que la temperatura de color que ve en el control deslizante de Lightroom no será la misma que la calculada a partir de las fórmulas anteriores.