Ich versuche, einen Graukartenalgorithmus zu lernen, um die Bildfarbe basierend auf der verwendeten Graukarte anzupassen. Von dieser Antwort hatte ich eines meiner Fotos ausprobiert: -
Auswahlfarbe (Graukartenfarbe): - 115.168.178
Neutrale Farbe:- 128.128.128
Korrektur erforderlich: - -13,40,50
Ich habe versucht, das RGB des Bildes basierend auf dieser Korrektur mit Photoshop & GIMP und dem Used Lightroom Cutom-Picker für den Weißabgleich zu ändern, und Saw, beide sind unterschiedlich.
Mache ich etwas falsch? Bitte helfen Sie mir dabei.
Drei mögliche Probleme mit Ihrem Verfahren.
Sie subtrahieren von 128, was ein falsches Konzept ist. Wenn Sie wissen, dass der Punkt neutral sein sollte, sollten Sie versuchen, die RGB-Töne gleich zu machen, was auch immer sie sind. Neutral ist gleich RGB, aber nicht unbedingt bei 128. Der Unterschied zu 128 ist die Helligkeit (und ist einstellbar). Der Unterschied zu gleichem RGB (einer neutralen Farbe) ist ein Farbstich.
Das übliche und normale und einfache Verfahren besteht darin, mit einem Weißabgleich-Tool auf die Farbe zu klicken, von der wir wissen, dass sie neutral sein sollte, und dann macht das Computerprogramm sie neutral. Adobe Raw hat ein solches WB-Tool, und die mittelgraue Pipette von Photoshop Levels tut es auch.
18% Graukarten sind normalerweise ungefähr neutral, werden aber nicht hergestellt, um Neutralität zu gewährleisten. Sie "funktionieren", aber sie sind zu dunkel, um am besten zu sein. Stattdessen versuchen sie, eine Reflexion von 18 % sicherzustellen, was nicht Ihr Ziel ist.
Holen Sie sich stattdessen eine echte Weißabgleichskarte, die für diesen Zweck hergestellt wurde. Diese sind hellgrau und gute sind weiß. WhiBal ist eine sehr gute Markenkarte. Ich bevorzuge die Porta Brace White Balance Karte ($5 B&H)
Es gibt eine Reihe von Möglichkeiten, eine solche Konvertierung durchzuführen. Ich gehe davon aus, dass Sie möchten, dass der Benutzer eine Farbe auswählen kann, die im Bild neutral sein sollte, dies aber nicht ist.
Meine Vermutung für Lightroom ist, dass sie wahrscheinlich die RGB-Werte in den Lab-Farbrauma
konvertieren und dann die und b
-Werte jedes Pixels um einen bestimmten Betrag anpassen . (Der Betrag ist die Differenz zwischen der Originalfarbe und einem Nullwert für a
und b
.) Wahrscheinlich möchten Sie die L-Achse des gesamten Farbraums so verzerren, dass die ausgewählte Farbe mit wo ausgerichtet ist a
und b
im unverzerrten Raum 0 ist.
Sie können eine solche Änderung auf andere Weise annähern. Eine Möglichkeit besteht darin, von RGB in etwas Einfacheres wie Y'CbCr zu konvertieren und dort Ihre Farben anzupassen. Auch hier würden Sie die Y'-Achse so verzerren, dass die ursprünglich vom Benutzer gewählte Farbe in ihrer Ebene zum Ursprung verschoben wird (wobei Cb und Cr 0 sind).
Sie können dies in reinem RGB nachahmen, indem Sie die Grauachse (r=g=b) vertikal drehen, diese neue vertikale Achse so neigen, dass die gewählte Farbe auf der Achse landet, und dann um die Umkehrung der ersten Drehung drehen.
Blrfl
Bik
Bik
Dannemp