Ich frage mich, wie ich programmgesteuert (dh mit einer Programmiersprache anstelle eines Editors) von einer Farbtemperatur in eine andere konvertieren kann.
Wenn ich zum Beispiel davon ausgehe (und es ist eine große Annahme), dass ein Weißabgleich-Algorithmus ein verarbeitetes Bild (z. B. JPEG usw.) aufnehmen und die Gesamttemperatur in einer Szene auf 6500 setzen könnte, wie würden Sie algorithmisch "abkühlen"? "oder" warm "die Szene auf eine bestimmte Temperatur?
Offensichtlich ist dies eine übliche Operation in einem Bildbearbeitungsprogramm, aber diese arbeiten normalerweise mit RAW-Bildern, auf die keine Verarbeitung angewendet wurde (Manipulation des Farbraums oder auf andere Weise). Bei RAW-Dateien enthalten die einzelnen RAW-Dateien möglicherweise ausreichende Informationen (im Dateikopf) zur Farbkalibrierung des Kamerasensors, um die spezifische Temperaturtransformation deterministischer zu gestalten.
Übrigens habe ich diese Frage beim regulären Stapelüberlauf gestellt und es wurde vorgeschlagen, dass ich hier eine bessere Antwort bekomme.
quelle
-color-matrix
Option können Sie loslegen. siehe auch: fmwconcepts.com/imagemagick/whitebalance/index.phpAntworten:
Sie müssten eine Weißraumkonvertierung im Farbraum im L * a * b * -Raum durchführen. Die meisten Farbmodelle, mit denen wir normalerweise arbeiten, hauptsächlich RGB, aber häufig CMYK, unterstützen die Einschränkungen und Anforderungen der physischen Hardware. Diese Modelle repräsentieren den "Wahrnehmungsraum" der Farbe normalerweise nicht sehr gut, und der Weißpunkt ist definitiv ein Wahrnehmungsaspekt der Farbe.
Wann immer Sie Wahrnehmungsanpassungen an einem Bild vornehmen müssen, wie z. B. Farbtemperatur oder Farbtonverschiebungen, erfolgt dies am besten durch Konvertieren von RGB in XYZ. Während der Konvertierung können Sie "Referenzweißpunkte" für den Quell- und Zielfarbraum anwenden . Durch die Konvertierung von XYZ in Lab gelangen Sie in einen Farbraum, in dem Sie den Weißpunkt und alle Farben wahrnehmbar neu zuordnen können, sodass sie die Kontinuität aufrechterhalten.
Farbraumkonvertierungen, chromatische Anpassungen, Weißpunktanpassungen usw. sind mathematisch ziemlich komplex. Je genauer Sie wahrnehmen, desto komplexer wird die Mathematik normalerweise. Eine hervorragende Informationsquelle für Farbraumkonvertierungen finden Sie auf der Website von Bruce Lindbloom . Einige zusätzliche nützliche Informationen finden Sie auf Wikipedia . Diese Informationen finden Sie möglicherweise auch in den CIE-Leuchtmitteln der D-Serie , da sie Weißpunkt-spezifische Informationen, Berechnungen und Konstanten enthalten.
quelle
Der Weißabgleich ist eine sehr einfache Manipulation der Bildverarbeitung. Es ist nur eine Verstärkung pro Kanal im linearen RGB-Raum. JPG-Dateien sind für den Weißabgleich nicht optimal, da normalerweise sowohl eine Tonkurve als auch eine elektrooptische Transformationsfunktion (EOTF) mit inversem Monitor angewendet werden, um die lineare Beziehung zu den Szenenluminanzwerten zu unterbrechen. Aus diesem Grund wird normalerweise mit RAW-Daten begonnen. Wenn Sie lineare RGB-Werte entweder über die RAW-Daten oder durch Invertieren der oben beschriebenen Nichtlinearität erhalten können, können Sie den Weißabgleich durchführen, indem Sie Folgendes anwenden.
Es ist üblich, keine Verstärkung auf den grünen Kanal anzuwenden, da dies sehr grob mit der Luminanz zusammenhängt und das Ändern aller drei Kanäle auch die Gesamtbelichtung verschieben würde.
In den RAW-Dateien befindet sich normalerweise ein Metadatenfeld, das eine Reihe von Weißabgleichverstärkungen enthält, die von der Kamera mithilfe eines integrierten Algorithmus berechnet werden. Diese Algorithmen basieren normalerweise auf irgendeiner Form eines Schätzalgorithmus für Farbkonstanz-Leuchtmittel.
Sobald die Verstärkungen auf eine codierende Primärmatrix angewendet wurden, sollten die Zieltonwiedergabekurve und der inverse EOTF angewendet werden.
quelle
Ich hatte ein großartiges Bild von einer Frau, die ich unter seltsamen, komplexen Lichtverhältnissen (Natriumdampf- und Quecksilberdampflichter) aufgenommen habe. Tolles Lächeln, perfekter Fokus, exzellentes Bild, bis auf die Farbe.
Ich habe eine Stunde lang mit Temp / Tint in Adobe Camera Raw gespielt, ohne ein gutes Ergebnis zu erzielen. Ich habe ein Programm geschrieben, um die XMP-Datei des Beiwagens zu hacken, indem ich die Temperatur variiere und dann einen symbolischen Link zum ursprünglichen NEF herstelle, der parallel zur XMP-Datei benannt ist.
Dies ist NICHT annähernd so ausgefallen und technisch nicht korrekt wie die obige Antwort, sondern wirft eine enorme Menge an CPU auf das Problem und liefert einige (möglicherweise) interessante Ergebnisse.
Dadurch werden eine Reihe von .NEF-Dateilinks und jeweils eine echte .XMP-Sidecar-Datei erstellt. Kopieren Sie einfach eine echte nef / xmp-Dateikombination, um sie in das Testverzeichnis zu klonen, und stellen Sie die min / max-Temperatur und dif_temp (Kelvin zwischen Klonen) ein. Eine weitere Schleife kann eingefügt werden, um den Farbtonwert bei einem konstanten Kelvin zu variieren. Die generierten Dateien werden jedoch mit der Anzahl der Farbtöne multipliziert.
Führen Sie die Photoshop-Datei -> Skripte -> Bildprozessor aus, zeigen Sie auf dieses Verzeichnis, und es wird für jeden Link bei der angegebenen Farbtemperatur ein echtes tif / jpg / was auch immer erstellt.
Dieser Code ist ein schmutziger, hässlicher Hack, und wenn er ausgeführt wird, schmilzt er wahrscheinlich Ihren Prozessor und zieht Kugelblitze und Killerbienen in die unmittelbare Umgebung. Keine Garantie ist selbstverständlich.
Benötigt Perl (wird sicherlich täglich verwendet) und mklink (kann vorhanden sein).
}}
quelle