Berechnen Farbtemperatur in K
Ich geschrieben habe eine lib für das arbeiten mit Farben und stecken versuchte zu berechnen Tc(k)
. Von was ich gelesen habe, arbeiten in der CIE 1931 XYZ
Farbraum ist der Weg zu gehen, und es kann erhalten werden unter Verwendung xyY
.
Bisher habe ich alles richtig bis zu dem Punkt, herauszufinden, die richtige x
und y
aus :
X Y
x = ____________ y = ____________
( X + Y + Z) ( X + Y + Z)
Die zahlen viel bis auf die Grafik, kann aber nicht finden, alles, die details, wie Sie gehen aus x
und y
zu Tc(K)
zB: Für die #FF0000 bekomme ich die folgende.
x: 0.64007449945677
y: 0.32997051063169
Habe ich gelesen, eine Reihe von arbeiten zu dem Thema, und buchstäblich alle wikipedia-Artikel. Alle Fragen, die ich habe über kommen über SO einfach einen link zu einem wiki-Artikel auf Farben, nicht einen gesehen, der hat die tatsächliche Formel für die Berechnung Tc(k)
- Sie könnten versuchen, eine dieser Näherungswerte für die Farbtemperatur. Für die andere Möglichkeit, du suchst den planckschen locus.
- Die Farbe von einem schwarzen Körper ist eigentlich ein Spektrum, nicht eine Reine spektrale Farbe. Zum Beispiel, die Farbe kann weiß sein, obwohl die peak Farbe grün. Jede Formel müsste die Ermittlung der äquivalenten CIE Farbe durch die Analyse der Reaktion der Stäbchen und Zapfen des Auges.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich Sie richtig verstehe, sehen Sie sich bitte die pdf, wo eine Reihe von Methoden (kurz 🙁 ) beschrieben. Aus diesem PDF:
Weiß nicht, ob es tatsächlich hilft Ihnen.
Basiert auf dem Wikipedia-Artikel ich in der genäherten Formel für
Color Temperature
Berechnung in Excel als=(-449*((R1-0,332)/(S1-0,1858))^3)+(3525*((R1-0,332)/(S1-0,1858))^2)-(6823,3*((R1-0,332)/(S1-0,1858)))+(5520,33)
Funktioniert!
Ich getan einige Graben in einige open-source-apps, und fand etwas, das in UFRaw. Ich habe noch nicht ganz herausgefunden, was Los ist genau.
Fand auch ein Papier das scheint so zu decken das Thema ganz gut.
Konvertiert php und das ist, was ich habe, so weit:
Meine Ausgabe:
Ziemlich nah dran, aber nicht 100% noch. (Gefunden bug in meinem code, und es ist jetzt fast perfekt)
Code
UFRaw Linie 246-294
Die Wikipedia sagt, dass die Farbtemperatur wird berechnet, indem die u-v-farbarten, nicht x-y, so haben Sie, um eine übersetzung ausgeführt. Das heißt, ich empfehlen die Verwendung einer Näherung (auch erklärt in der Wikipedia) wie vorgeschlagen von @sixlettervariables.
Die eigentliche Frage ist, was versuchen Sie zu finden, die Farbtemperatur?. Ich sehe einen Verweis (#FF0000), um RGB-Farben, die sind bedeutungslos, ohne Angabe von Farbe, Raum. Angenommen, Sie sind in sRGB (so kann ich zeigen Sie bei Wikipedia wieder), müssen Sie zunächst die lineare RGB-Koordinaten, bevor Sie fortfahren zu XYZ.
Ich weiß, das ist eine alte Frage, aber ich war zu kämpfen, um eine Antwort zu finden, wie gut. Ich kam schließlich über diese nette Rechner, dass auch Beiträge, die die Formel wie folgt:
n = (x-0.3320)/(0.1858-y)
CCT = 437*n^3 + 3601*n^2 + 6861*n + 5517
Hoffe, dies hilft jemand, wer noch auf der Suche.