Questo documento (download pdf) fornisce le seguenti formule per il calcolo della temperatura di colore correlata (CCT). Non dicono esplicitamente (o l'ho perso), ma il loro esempio mi porta a dedurre che stanno assumendo valori RGB nell'intervallo 0-255.
1. Convertire i valori RGB in valori tristimulus CIE (XYZ) come segue:
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. Calcola i valori di cromaticità normalizzati:
x = X/ ( X+Y+Z)
y= Y/ (X+ Y+ Z)
3. Calcola il valore CCT da:
CCT= 449 n3+ 3525 n2+ 6823,3 n + 5520,33
dove n = ( x - 0,3320 ) / ( 0,1858 - y)
Che possono essere combinati per formare la seguente equazione:
CCT= 449 n3+ 3525 n2+ 6823,3 n + 5520,33
dove n = ( ( 0,23881 ) R + ( 0,25499 ) G + ( - 0,58291 ) B )/ ((0.11109)R+(-0.85406)G+(0.52289)B )
Non sono sicuro di applicarlo a un'immagine, ma se vuoi solo un singolo numero generalizzante, potresti forse usare una sorta di media? O trova un valore RGB "medio" accettabile per l'immagine (es. Il centroide) e usa quello per calcolare una temperatura o (un'opzione molto più computazionalmente costosa) calcola la temperatura per ogni pixel nell'immagine e prendi la media di quei risultati .
Inoltre, tieni presente che CCT è solo una metrica approssimativa per la maggior parte dei colori, poiché solo una singola curva nello spazio colore rappresenta in realtà il colore che può essere ottenuto da un radiatore del corpo nero del mondo reale. Pertanto, per tutti gli altri colori, la temperatura di colore calcolata è semplicemente un'approssimazione della temperatura del corpo nero che rappresenta più da vicino. Pertanto, per alcuni colori (in particolare i verdi) può effettivamente essere un valore alquanto insignificante, almeno in senso fisico. Questo è ben illustrato nella seguente immagine (dall'articolo di Wikipedia sulla temperatura del colore ).
La linea nera nell'immagine rappresenta il Locus Planckiano di colori che potrebbero essere effettivamente prodotti dalla radiazione del corpo a blocchi. Le linee di incrocio più piccole rappresentano le isoterme dell'approssimazione CCT nelle vicinanze.
Inoltre, poiché la tua domanda si riferisce specificamente ad Adobe Lightroom, ho trovato questo mentre cercavo :
I cursori [in Adobe Lightroom] non regolano la temperatura del corpo nero della luce, ma la compensazione applicata all'immagine per compensare la temperatura del corpo nero della luce. Questo è il contrario.
Quindi tieni presente che la temperatura del colore che vedi sul cursore Lightroom non sarà la stessa di quella calcolata dalle formule precedenti.