¿Cómo puedo calcular la temperatura de color (equivalente al cuerpo negro) de la fuente de luz que ilumina una imagen determinada? A continuación se muestran capturas de pantalla de Adobe Lightroom manipulando la temperatura de color y un cambio en los histogramas RGB. Dados los componentes RGB de la imagen, ¿cómo hago para calcularla? Debería esperar un solo valor: la temperatura equivalente del cuerpo negro de la fuente de iluminación, ¿verdad?
image-processing
color
Lord Loh
fuente
fuente
Respuestas:
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:
2. Calcule los valores de cromaticidad normalizados:
3. Calcule el valor de CCT a partir de:
Que se puede combinar para formar la siguiente ecuación:
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:
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.
fuente
He calculado algunos colores según sus fórmulas y, como veo en algunos casos, funciona, mientras que en otros casos, como el rojo (255 0 0) y el azul (0 0 255), da una respuesta incorrecta:
sin embargo:
rojo (255 0 0): n = 2.1497, CCT = 40938.6 K -> parece estar equivocado
azul (0 0 255): n = -1.1148, CCT = 1672.45 K -> parece estar equivocado
fuente