Ten artykuł (plik pdf do pobrania) podaje następujące wzory do obliczania skorelowanej temperatury barwowej (CCT). Nie mówią wprost (lub mi tego brakowało), ale ich przykład prowadzi mnie do wniosku, że przyjmują wartości RGB w zakresie 0-255.
1. Przekształć wartości RGB na wartości trójbodźca CIE (XYZ) w następujący sposób:
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. Oblicz znormalizowane wartości chromatyczności:
x = X/ (X+ Y+ Z)
y= Y/ (X+ Y+ Z)
3. Oblicz wartość CCT z:
dodoT.= 449 n3)+ 3525 n2)+ 6823,3 n + 5520,33
gdzie n = ( x - 0,3320 ) / ( 0,1858 - y)
Które można połączyć w celu utworzenia następującego równania:
dodoT.= 449 n3)+ 3525 n2)+ 6823,3 n + 5520,33
gdzie n = ( ( 0,23881 ) R + ( 0,25499 ) G + ( - 0,58291 ) B )/ ((0,11109)R+(-0,85406)G+(0,52289)B)
Nie jestem pewien co do zastosowania tego do obrazu, ale jeśli chcesz tylko jednej liczby uogólniającej, to może mógłbyś użyć jakiegoś uśrednienia? Znajdź akceptowalną „średnią” wartość RGB obrazu (np. Centroid) i użyj jej do obliczenia temperatury lub (opcja o wiele bardziej kosztowna obliczeniowo) oblicz temperaturę dla każdego piksela na obrazie i weź średnią z tych wyników .
Należy również pamiętać, że CCT jest jedynie przybliżoną miarą dla większości kolorów, ponieważ tylko pojedyncza krzywa w przestrzeni kolorów reprezentuje kolor, który można uzyskać z prawdziwego czarnego grzejnika na świecie. Tak więc dla wszystkich innych kolorów obliczona temperatura barwowa jest po prostu przybliżeniem czarnej temperatury ciała, którą najbardziej reprezentuje. Dlatego w przypadku niektórych kolorów (zwłaszcza zieleni) może to być w pewnym sensie wartość bez znaczenia, przynajmniej w sensie fizycznym. Jest to dobrze zilustrowane na poniższym obrazie (z artykułu w Wikipedii na temat temperatury barwowej ).
Czarna linia na obrazie reprezentuje locus kolorów Planckiego, który może być faktycznie wytworzony przez promieniowanie bryły bloku. Mniejsze linie przecięcia reprezentują izotermy przybliżenia CCT w pobliżu.
Ponadto, ponieważ twoje pytanie odnosi się konkretnie do Adobe Lightroom, znalazłem to podczas wyszukiwania:
Suwaki [w Adobe Lightroom] nie dostosowują temperatury czarnego ciała światła, ale kompensację zastosowaną do obrazu w celu kompensacji temperatury czarnego ciała światła. Odwrotnie.
Należy więc pamiętać, że temperatura kolorów widoczna na suwaku Lightroom nie będzie taka sama jak temperatura obliczona na podstawie powyższych wzorów.