Wie ändern sich Farbwerte mathematisch, wenn Sie Temperatur und Farbton ändern?

Ich habe mich gefragt, was die Farbtemperatur mit den RGB/LAB-Werten Ihres Pixels macht, wenn Sie sie anpassen.

Ich verstehe, dass die Dinge bei der Temperatur gelber oder blauer werden, aber welche Gleichung verwendet Lightroom/Camera RAW? Ist es einfach, die B-Kanal-Werte für jedes Pixel zu erhöhen, wenn Sie die Temperatur um eine Stufe erhöhen?

Meine andere Frage ist folgende: Ich habe festgestellt, dass das Ändern der Temperatur und des Farbtons die Grauwerte erheblich verändert hat, als ich mein Foto in Schwarzweiß konvertiert und in diesem Bereich gearbeitet habe. Andere Farbwerkzeuge fügen stattdessen tatsächlich Farbe hinzu, wie z. B. die Farbkorrektur, sodass es nicht mehr schwarz und weiß ist, sondern einen Farbstich erhält, und einige funktionieren überhaupt nicht, wie z. B. die Sättigung. Bedeutet das also, dass die A- und B-Werte von LAB die Luminanzwerte in Schwarzweiß beeinflussen? Ich vermute, dass Gelb die Dinge heller machen würde? Ändert Lightroom die L-Werte oder behält es sie bei und erzeugt eine Vorschau darüber, wo Farbwerte Grauwerte beeinflussen?

Ich versuche, eine Fotosoftware und vielleicht eines Tages eine Kamera-App zu programmieren, also interessiert mich, was genau vor sich geht.

Haben Sie sich Code in Open-Source-Bildbearbeitungssoftware wie RawTherapee und Darktable angesehen? Für mich ist dies der richtige Ausgangspunkt, da das Bearbeiten von Bildern eine Übung in Photometrie und nicht in Wellenphysik ist. Die Berechnungen sind typischerweise nichtlinear, weil die menschliche visuelle Wahrnehmung nichtlinear ist.
@L.ScottJohnson Es hilft wirklich. Das ist, als würde man einen vergrabenen Schatz finden, sowohl diese Antworten als auch die dort drüben. Ich denke, sie sind beide hilfreich.
Ich habe diese Frage vor einiger Zeit ohne zufriedenstellende Antwort gestellt. Was *genau* ist Weißabgleich?

Antworten (3)

Dies ist eine kniffligere Frage, als Sie vielleicht denken.

Erstens ist der RGB-Wert, den Sie mit Ihren Augen auf dem Bildschirm sehen, das Ergebnis einer Operation an der verarbeiteten Ausgabe von Lightroom, die durch die Kalibrierung Ihres Bildschirms definiert wird. Achten Sie also darauf, welche RGB-Werte Sie messen.

Zweitens, wenn Sie die Farbtemperatur anpassen, rekonstruieren Sie in Wirklichkeit die Art und Weise, wie Ihr Gehirn die Wirkung von Außenlicht auf das Objekt, das Sie fotografiert haben, interpretiert. Dies ist ein ziemlich komplexer Vorgang, da Außenlichter keine einfachen RGB-Strahlen sind, sondern eine Mischung aus. Und obendrein macht es nicht jedes Gehirn gleich. Und sie tun es nicht linear. Die meisten erfahrenen und gut besetzten Softwareunternehmen haben auch im Jahr 2021 noch Mühe, es richtig zu machen.

Mit der Festlegung des CIE-xy-Modells im Jahr 1931, das heute der Pate jeder Farbverarbeitung ist und darauf abzielte, das "durchschnittliche" Farbverständnis des Menschen zu definieren, wurde dies erstmals umfassend untersucht.

Um es kurz zu machen, Sie werden ein paar Stunden oder besser gesagt Tage brauchen, um die Mathematik dahinter zu verstehen, und wenn Ihnen Matrizen nicht beigebracht wurden, kann es Wochen oder Monate dauern ...

Ich schlage vor, wenn Sie interessiert sind, suchen Sie nach Farbmetriktheorie, um sich mit dem Thema vertraut zu machen.

@Hugues Deine Antwort war wirklich sehr hilfreich. Vieles, was ich brauche, ist nur zu wissen, was ich wo lernen soll. Kennen Sie zufällig Lehrbücher oder Online-Kurse, die dieses Zeug lehren? Ich habe vor, mir keinen GNU- oder CC-SF-Quellcode anzusehen, denn wenn es sich um GNU handelt, muss Ihr Code es auch sein, soweit ich das Code-Urheberrecht verstehe.
Hallo Ikari, wenn ich dir einen Rat geben darf, bevor du dich über das Codieren wunderst, musst du an der Theorie arbeiten. Ich bin französischer Muttersprachler, daher sind meine Quellen auf Französisch. Sehen Sie sich zum Beispiel profil-couleur.com an, das eine erstaunliche Quelle ist, und versuchen Sie es vielleicht mit Google Translate oder der Google-Suche mit einigen Schlüsselwörtern. Wikipedia kann auch helfen.

Adobe beschreibt seinen Weißabgleichsprozess tatsächlich sehr gut in der Digital Negative (DNG) Specification , insbesondere in Kapitel 6 Mapping Camera Color Space to CIE XYZ Space .

Der Prozess ist nicht sehr trivial, aber das Kernprinzip besteht darin, eine Matrix zu berechnen, die den Kameraraum, dh den Raum, in dem sich das aufgenommene Bild bei der Aufnahme befindet, in CIE-XYZ-Tristimuluswerte unter D50-Lichtart für einen bestimmten Satz von Weißabgleich-Chromatizitätskoordinaten xy umwandelt.

Mit den Chromatizitätskoordinaten ist es möglich, die entsprechende korrelierte Farbtemperatur (CCT), dh Farbtemperatur und D_uv, unter Verwendung der Methode von Robertson (1968) zu berechnen.

Sobald die CCT berechnet ist, wird die Matrix von Camera Space zu CIE XYZ durch lineare Interpolation der ColorMatrix1und ColorMatrix2Matrizen erhalten, die Adobe (oder andere Anbieter nach der DNG-Spezifikation) für die Kamera bereitstellen und typischerweise in ein DCP-Profil oder EXIF/ XMP-Metadaten. Die beiden Matrizen werden üblicherweise für wolframähnliche Lichtquellen, z. B. Lichtart A (CCT ~= 2856 K) und tageslichtähnliche, z. B. D65 (CCT ~= 6505 K) angegeben und transformieren von CIE XYZ in den Kameraraum.

Es gibt mehr Details in der Spezifikation, aber das ist wirklich der Kern des Algorithmus.

Wir haben eine vollständige Python-Implementierung in color-hdri im Modul colour_hdri.models.dng . Ein Beispiel wäre so:

M_color_matrix_1 = np.array(
    [[0.5309, -0.0229, -0.0336],
     [-0.6241, 1.3265, 0.3337],
     [-0.0817, 0.1215, 0.6664]])
M_color_matrix_2 = np.array(
    [[0.4716, 0.0603, -0.0830],
     [-0.7798, 1.5474, 0.2480],
     [-0.1496, 0.1937, 0.6651]])
M_camera_calibration_1 = np.identity(3)
M_camera_calibration_2 = np.identity(3)
analog_balance = np.ones(3)
XYZ_to_camera_space_matrix(  # doctest: +ELLIPSIS
    np.array([0.34510414, 0.35162252]),
    2850,
    6500,
    M_color_matrix_1,
    M_color_matrix_2,
    M_camera_calibration_1,
    M_camera_calibration_2,
    analog_balance)

array([[ 0.4854908...,  0.0408106..., -0.0714282...],
        [-0.7433278...,  1.4956549...,  0.2680749...],
        [-0.1336946...,  0.1767874...,  0.6654045...]])

Nach einigen weiteren Recherchen glaube ich eine Antwort auf meine Frage zu haben. Ich sage, die anderen Antworten sind falsch, sie klingen sehr informiert, aber das ist genau das, was ich über die Funktionsweise der Farbtemperaturregler herausgefunden habe, jedoch nicht unbedingt über die Funktionsweise von Kameras oder den Algorithmus von Auto-WB oder LR / ACR zum Interpretieren Metadaten.

Ich habe mir ein YouTube-Video darüber angesehen, wie man die Temperatur und den Farbton in Photoshop anpasst, ohne in ACR zu gehen, und was der Lehrer empfohlen hat, war, in den LAB-Modus zu gehen und die Kurven zu öffnen und im A- und B-Kanal den oberen und unteren Knoten hineinzuschieben bis sie die Spitze im Histogramm berühren. Wenn Sie mehr oder weniger Temperatur oder Tönung hinzufügen möchten, stellen Sie einen der Knoten so ein, dass er asymmetrisch ist, sodass er sich etwas weiter links oder rechts von der Mitte befindet als der andere. Ich würde sagen, dass diese Methode kniffliger ist als LR oder ACR, wie jeder vermuten könnte, der mit den LAB-Kurven herumgespielt hat, aber es zeigt nur, dass das wahrscheinlich das ist, was unter der Haube vor sich geht.

Ich folgerte daraus, dass, während XYZ und LAB und Matrizen alle im Spiel sein müssen, wenn Farben ausgewählt werden, die Aufgabe des LAB-Schiebereglers nur darin besteht, die entgegengesetzte Farbe des Farbstichs zu erzeugen, um ihn aufzuheben, und das kann mit einfachem LAB erfolgen Mischen.

LAB-Primärfarben sind nicht nur deshalb eine gute Wahl, weil der LAB-Farbraum groß genug ist, um alle anderen Farbräume aufzunehmen, sondern auch, weil der Weißabgleich für Anfänger wirklich einfach ist. Alles am warmen Ende der Kelvin-Skala kann mit Blau und Grün aufgehoben werden, die beide nach links gleiten. Farben am kühlen Ende der Kelvin-Skala können mit Gelb und Magenta, die beide rechts liegen, aufgehoben werden. Schön und einfach für den Endverbraucher.