Comment puis-je calculer la température de couleur (équivalent du corps noir) de la source lumineuse éclairant une image donnée? Vous trouverez ci-dessous des captures d'écran d'Adobe Lightroom manipulant la température des couleurs et un changement dans les histogrammes RVB. Étant donné les composants RVB de l'image, comment dois-je procéder pour le calculer? Je devrais m'attendre à une seule valeur - La température équivalente au corps noir de la source d'éclairage, non?
image-processing
color
Lord Loh.
la source
la source
Réponses:
Ce document (téléchargement pdf) donne les formules suivantes pour calculer la température de couleur corrélée (CCT). Ils ne le disent pas explicitement (ou je l'ai manqué), mais leur exemple me conduit à déduire qu'ils supposent des valeurs RVB dans la plage de 0 à 255.
1. Convertissez les valeurs RVB en valeurs tristimulus CIE (XYZ) comme suit:
2. Calculez les valeurs de chromaticité normalisées:
3. Calculez la valeur CCT à partir de:
Qui peut être combiné pour former l'équation suivante:
Je ne suis pas sûr d'appliquer ceci à une image, mais si vous voulez juste un seul nombre généralisant, vous pourriez peut-être utiliser une sorte de moyenne? Soit trouver une valeur RVB "moyenne" acceptable pour l'image (par exemple le centroïde) et l'utiliser pour calculer une température ou (une option beaucoup plus coûteuse en calcul) calculer la température pour chaque pixel de l'image et prendre la moyenne de ces résultats .
En outre, gardez à l'esprit que la CCT n'est qu'une mesure approximative pour la plupart des couleurs, car seule une courbe unique dans l'espace colorimétrique représente réellement la couleur qui peut être obtenue à partir d'un radiateur de corps noir du monde réel. Ainsi, pour toutes les autres couleurs, la température de couleur calculée est simplement une approximation de la température du corps noir qu'elle représente le plus étroitement. Ainsi, pour certaines couleurs (en particulier les verts), cela peut en fait être une valeur quelque peu dénuée de sens, au moins dans un sens physique. Ceci est bien illustré dans l'image suivante (de l' article de wikipedia sur la température de couleur ).
La ligne noire de l'image représente le locus planckien des couleurs qui pourraient en fait être produites par le rayonnement du corps en bloc. Les lignes de croisement plus petites représentent les isothermes de l'approximation CCT à proximité.
De plus, comme votre question fait spécifiquement référence à Adobe Lightroom, j'ai trouvé cela en cherchant autour:
Gardez donc à l'esprit que la température de couleur que vous voyez sur le curseur Lightroom ne sera pas la même que celles calculées à partir des formules ci-dessus.
la source
J'ai calculé certaines couleurs en fonction de vos formules, et comme je le vois dans certains cas, cela fonctionne, tandis que dans d'autres cas - comme le rouge (255 0 0) et le bleu (0 0 255) - cela donne une mauvaise réponse:
pourtant:
rouge (255 0 0): n = 2.1497, CCT = 40938.6 K -> semble être faux
bleu (0 0 255): n = -1.1148, CCT = 1672.45 K -> semble être faux
la source