Ergänzung LCH Farbraum

Moderator: Hoogo

awehring
Mitglied
Posts: 47
Joined: Tue 13 Aug 2013 22:17

Ergänzung LCH Farbraum

Post by awehring » Thu 17 Sep 2015 16:27

Photoline bietet derzeit die Farbräume RGB, HSV, HIS, Lab, CMYK.

Die Ergänzung des LCH Farbraumes würde Farb- und Helligkeitskorrekturen gewaltig erleichtern, da der LCH Farbraum sich an der Farbempfindung ausrichtet (perzeptiver Farbraum). Er ist mit dem Lab Farbraum eng verwandt, seine Regelgrössen sind jedoch wesentlich eingängiger als beim Lab.
Nämlich
L (lightness) für Helligkeit,
C (chroma) für Sättigung und
H (hue) für die Farbe.

Das Problem mit den nicht-perzeptiven Farbräumen (HSV, HIS etc.) ist, dass der Helligkeits- und Sättigungswert sich nicht mit der menschlichen Farbwahrnehmung deckt.

Im folgenden Bild ist jeweils ist jeweils ein Farbfeld in purem Grün und purem Blau gezeigt. Darüber stehen die Parameter in den einzelnen Farbräumen. Angeblich (gemäss HSL und HSV-Werten) sind diese gleich hell und gleich gesättigt. Ein Betrachter würde das Grün aber sicherlich als deutlich heller als das Blau beurteilen.
Vergleich_4.PNG
Die Balken und Zahlen über den Farbflächen zeigen die Werte in den verschiedenen Farbräumen (LCH, RGB, HSV, HSL).
Im HSL und HSV Farbraum sind V für beide 1 bzw. L für beide 0.5. Damit ist das Grün und Blau eben angeblich gleich hell (und gleich gesättigt mit S = 1).

Bei den LCH-Werten ist das Grün viel heller als das Blau (L = 88 bzw. 32). So wie man es empfindet.


Im folgenden Bild ist das Blau in der Helligkeit an das Grün angepasst. Beide haben gemäss LCH die gleiche Helligkeit (L = 88) - und so wirken sie auch. Das Grün wirkt nur etwas intensiver, also stärker gesättigt, und das kommt im Sättigungsparameter auch zum Ausdruck (C = 120 bzw. 49).
Vergleich_5.PNG
Mit anderen Worten: die Parameter des LCH-Farbraum decken sich mit dem Eindruck.


Für die Bildbearbeitung hätte der LCH-Farbraum also gewaltige Vorteile:

  • Wenn man zum Aufhellen nur am L-Parameter zieht, ändert sich wirklich nur die (empfundene) Helligkeit aller Farben.
  • Bei Änderung an der Sättigung (C, chroma) bleibt die Helligkeit und der Farbton unverändert.
  • Eine Änderung des Farbtons (H, hue) lässt die wahrgenommene Helligkeit und Sättigung gleich.
Wünschen wir uns das nicht alle?[/color]


Da der LCH Farbraum relativ einfach aus dem Lab-Farbraum errechnet werden kann, sollte er sich mit überschaubarem Aufwand implementieren lassen (https://de.wikipedia.org/wiki/LCh-Farbraum).

Wer mehr Hintergrundwissen möchte, kann sich hier vertiefen, bzw. mit den Farbräumen spielen:

Erläuterung perzeptive Farbräume, Farbpaletten: http://mkweb.bcgsc.ca/brewer/
Präsentation und Umrechnungsmodell: http://mkweb.bcgsc.ca/brewer/talks/colo ... brewer.pdf
zum Spielen: http://davidjohnstone.net/pages/lch-lab ... ent-picker
Unterschiede HSV, HSL, HSI: http://stackoverflow.com/questions/2085 ... olor-space
Javascript Library: http://www.virtuosoft.eu/code/jquery-co ... ersliders/
You do not have the required permissions to view the files attached to this post.
Last edited by awehring on Fri 18 Sep 2015 05:59, edited 1 time in total.

bkh
Betatester
Posts: 3646
Joined: Thu 26 Nov 2009 22:59

Re: Ergänzung LCH Farbraum

Post by bkh » Thu 17 Sep 2015 18:17

Fände ich grundsätzlich auch gut (ich hatte mir das vor langer Zeit auch schon mal hier im Form gewünscht). Allerdings funktioniert der C-Kanal von LCh visuell auch nicht so, wie man sich das wünscht – C ist eher "Buntheit" als Sättigung (ähnlich wie beim HIS-Farbraum in PL). Wenn du den L-Wert erhöhst und C und h (oder äquivalent a und b) konstant lässt, wirken die Farben weniger gesättigt, umgekehrt gesättigter. Sieht man am besten, wenn man ein Foto mit der Lab-Gradation über den L-Kanal aufhellt.

Insgesamt bin ich nicht sicher, ob sich der Aufwand tatsächlich lohnt. Die Umrechnung Lab <-> LCh an sich ist ja trivial, aber sie taucht vermutlich an endlos vielen Stellen im Programm auf (und nicht mal überall wird HIS und HSV unterstützt).

L.G.

Burkhard.

awehring
Mitglied
Posts: 47
Joined: Tue 13 Aug 2013 22:17

Re: Ergänzung LCH Farbraum

Post by awehring » Fri 18 Sep 2015 00:27

Ich habe vor allem mit einzelnen Farben in dem oben verlinkten Tool gespielt. Da empfinde ich die die Parameter L, C und H schon als sehr unabhängig voneinander. Aber mit einem Photo kann man das sicher besser beurteilen.

Kennst Du eine Bildbearbeitung, die LCH beherrscht?

Wenn ich mit Photoline bei der Gradation mit den verschiedenen Farbräumen spiel, habe ich schon den Eindruck dass das L im Lab Modus die Farben weniger verfälscht, als die Helligkeit mit HIS und deutlich weniger als mit HSV.

Der grosse Vorteil von LCH gegenüber Lab ist aber, dass Farbkorrekturen (Sättigung, Farbton) mit Lab und seinen rot/grün bzw. gelb/blau Kanälen mehr oder weniger unmöglich, zumindest äusserst gewöhnungsbedürftig ist. Nur zur Helligkeitskorrektur kann man mit Lab leben.

Wegen des Aufwandes: Ich denke, dass der überschaubar ist, zumindest an den Stellen, an denen Lab bereits umgesetzt ist. Man muss im Programm ja nur die Eingabewerte von LCH in Lab umrechnen. Dann kann man im Programm mit dem Lab-Werten weiterfahren wie bisher. Das sollte auch keine Performance kosten.

awehring
Mitglied
Posts: 47
Joined: Tue 13 Aug 2013 22:17

Re: Ergänzung LCH Farbraum

Post by awehring » Fri 18 Sep 2015 05:28

Man kann es auch anders formulieren:

LCH vereint das Beste aus zwei Welten.

Einerseits sind die Parameter vertraute Größen: Farbe, Helligkeit, Sättigung. Das hat er gemein mit HIS, HSV, HSB, HSL, etc.
Damit lassen sich Farbanpassungen einfach durchführen, anders als mit RGB oder Lab.

Andererseits ist er (wie Lab) wahrnehmungsorientiert. Wenn man bei zwei Farben (z. B. Gelb und Blau) die gleiche Helligkeit einstellt, erscheinen auch beide Farben gleich hell. Das gleiche gilt für die Sättigung. Damit vermeidet er die Nachteile von HIS, HSV und deren Verwandten
Darüber hinaus sind die Parameter absolute Werte (wie Lab). Sie sind also nicht von der Grösse des Farbraums (sRGB, AdobeRGB, Rec.2020, etc.) abhängig. Wenn man zwei Bilder hat, eines in sRGB und eines in Adobe RGB, und bei beiden die gleichen Farbwerte einstellt, erhält man auch die gleiche Farbe (anders als bei RGB, HIS, HSV, HSB, HSL, etc.).

bkh
Betatester
Posts: 3646
Joined: Thu 26 Nov 2009 22:59

Re: Ergänzung LCH Farbraum

Post by bkh » Fri 18 Sep 2015 11:02

awehring wrote:Ich habe vor allem mit einzelnen Farben in dem oben verlinkten Tool gespielt. Da empfinde ich die die Parameter L, C und H schon als sehr unabhängig voneinander. Aber mit einem Photo kann man das sicher besser beurteilen.

Kennst Du eine Bildbearbeitung, die LCH beherrscht?
Was meinst du mit "beherrscht" genau? PL kann ja verschiedenste Funktionen z. B. in Lab ausführen, obwohl der Arbeitsfarbraum gar kein Lab ist. Geht es dir in erster Linie um Gradation in LCh oder noch was ganz anderes (Ch-Farbeingabe/Farbausgabe, Verläufe überblenden in LCh, Schärfen/Weichzeichnen, Maloperationen, …)?

Wenn's nur um die LCh-Gradation geht, lassen vielleicht die Entwickler mit sich reden, zumal die meisten Funktionen schon für den Lab-Mode in "Farbänderung" implementiert sein dürften.

Nikon Capture NX-D hat eine LCh-Gradation, aber das, was eigentlich die C -> C-Kurve sein müsste, ist h -> C. Die Funktion gibt es übrigens auch bei PL als Filter/Arbeitsebene "Farbänderung" (dort steht zwar Lab als Farbraum, aber im Endeffekt ist das LCh oder, wie es scheint, eher LCH).
awehring wrote:Wenn ich mit Photoline bei der Gradation mit den verschiedenen Farbräumen spiel, habe ich schon den Eindruck dass das L im Lab Modus die Farben weniger verfälscht, als die Helligkeit mit HIS und deutlich weniger als mit HSV.
Kann ich so nicht bestätigen. In der Praxis (bei normalen Fotos) finde ich I und L von der Wirkung her sehr ähnlich, man muss nur wegen der normalerweise unterschiedlichen zugrunde liegenden Gammakurven die Kurve etwas anders einstellen, um eine ähnliche Wirkung zu erzielen. Beim "Farbe verfälschen" kann man natürlch streiten: beide reduzieren die Sättigung beim Aufhellen und erhöhen sie beim Abdunkeln (einfach mal zwei Fotos machen, eins um 2 Stufen unterbelichten und anschl. mit I oder L aufhellen – da sehen HSV und RGB viel besser aus). Um Lichter sanft clippen zu lassen, sind oft L und I viel besser geeignet als HSV. "Den" Regler für alles habe ich noch nicht gefunden, oft kombiniere ich HIS und HSV oder regle die Sättigung von Hand nach.
awehring wrote: Der grosse Vorteil von LCH gegenüber Lab ist aber, dass Farbkorrekturen (Sättigung, Farbton) mit Lab und seinen rot/grün bzw. gelb/blau Kanälen mehr oder weniger unmöglich, zumindest äusserst gewöhnungsbedürftig ist. Nur zur Helligkeitskorrektur kann man mit Lab leben.
Naja, halt andere Farbkorrekturen. Genau wie man im RGB die Sättigung nicht erhöhen kann. Ob C und h in der Praxis andere Ergebnisse bringen als H und S, da habe ich allerdings so meine Zweifel. Globale Sättigungsänderungen in C gehen in PL schon mit "Farbänderung".
awehring wrote:Wegen des Aufwandes: Ich denke, dass der überschaubar ist, zumindest an den Stellen, an denen Lab bereits umgesetzt ist. Man muss im Programm ja nur die Eingabewerte von LCH in Lab umrechnen. Dann kann man im Programm mit dem Lab-Werten weiterfahren wie bisher. Das sollte auch keine Performance kosten.
Ich glaube, du unterschätzt den Aufwand, das GUI entsprechend anzupassen. Eine LCh-Gradation wäre m.E. machbar, aber LCh über das gesamte Programm ziemlich aufwändig. Aber letztlich wissen das nur die Entwickler.

L.G.

Burkhard.

awehring
Mitglied
Posts: 47
Joined: Tue 13 Aug 2013 22:17

Re: Ergänzung LCH Farbraum

Post by awehring » Fri 18 Sep 2015 14:28

bkh wrote:
awehring wrote: Kennst Du eine Bildbearbeitung, die LCH beherrscht?
Was meinst du mit "beherrscht" genau? PL kann ja verschiedenste Funktionen z. B. in Lab ausführen, obwohl der Arbeitsfarbraum gar kein Lab ist. Geht es dir in erster Linie um Gradation in LCh oder noch was ganz anderes (Ch-Farbeingabe/Farbausgabe, Verläufe überblenden in LCh, Schärfen/Weichzeichnen, Maloperationen, …)?
Ich würde gerne mit einem Foto in einem Bildbearbeitungsprogramm spielen und dabei an den L, C- und H-Reglern ziehen. Insbesondere bei Farbanpassungen, Gradation.
Am besten abwechselnd mit den Reglern für HSV, HIS, etc.

Dann könnte man direkt vergleichen was LCH besser macht.
Ich vermute: viel :mrgreen:
bkh wrote: Die Funktion gibt es übrigens auch bei PL als Filter/Arbeitsebene "Farbänderung" (dort steht zwar Lab als Farbraum, aber im Endeffekt ist das LCh oder, wie es scheint, eher LCH).
Unter "Arbeitsebene" - "Farbänderung" finde ich nur RGB, HIS und HSV. Kein Lab.
Und bei "Arbeitsebene" -"Farbton/Sättigung" (das wäre der spannendste Ort) gibt es zwar passende Regler, aber leider keine Auswahl / Angabe über den Farbraum. Was da genau passiert ist leider Entwickler-Geheimnis.
bkh wrote: "Den" Regler für alles habe ich noch nicht gefunden, oft kombiniere ich HIS und HSV oder regle die Sättigung von Hand nach.
Genau das zeigt das Problem von HIS und HSV. Vom Konzept her sollte LCH der Regler für alles sein.

bkh
Betatester
Posts: 3646
Joined: Thu 26 Nov 2009 22:59

Re: Ergänzung LCH Farbraum

Post by bkh » Fri 18 Sep 2015 16:03

awehring wrote:Unter "Arbeitsebene" - "Farbänderung" finde ich nur RGB, HIS und HSV. Kein Lab.
Komisch. Bei mir (in PL 19.01, Mac-Version) gibt's auch Lab.
awehring wrote:Und bei "Arbeitsebene" -"Farbton/Sättigung" (das wäre der spannendste Ort) gibt es zwar passende Regler, aber leider keine Auswahl / Angabe über den Farbraum. Was da genau passiert ist leider Entwickler-Geheimnis.
Kann man leicht testen. Wenn nicht "Kolorieren" an ist, dann arbeiten die Regler in HIS.
awehring wrote:
bkh wrote: "Den" Regler für alles habe ich noch nicht gefunden, oft kombiniere ich HIS und HSV oder regle die Sättigung von Hand nach.
Genau das zeigt das Problem von HIS und HSV. Vom Konzept her sollte LCH der Regler für alles sein.
Nein, wie ich schon geschrieben habe, funktioniert L (egal ob mit Lab oder LCh) meist auch nicht besser als I. Probier' mal das mit dem stark unterbelichteten Foto, dann weißt du, was ich meine.

L.G.

Burkhard.

bkh
Betatester
Posts: 3646
Joined: Thu 26 Nov 2009 22:59

Re: Ergänzung LCH Farbraum

Post by bkh » Sat 19 Sep 2015 22:41

So, für alle, die mal mit einer Gradation mit L- und C-Regler experimentieren wollen, ist hier eine Aktion, die die entsprechende Gradation simuliert. Funktioniert nur im Bildmodus mit einer Ebene. Der a-Kanal der Arbeitsebene "LC adjustment" ist der C-Kanal, der L-Kanal bleibt. Einen h-Regler habe ich nicht eingebaut.

Die Aktion schaltet in einen Lab-Arbeitsraum mit 32 bit Tiefe, daher reagiert der Aufbau bei großen Bildern evtl. ein bisschen langsam. Ggf. halt vor Aufruf der Aktion herunterskalieren.

L.G.

Burkhard.
You do not have the required permissions to view the files attached to this post.

User avatar
Hoogo
Betatester
Posts: 3860
Joined: Sun 03 Jul 2005 13:35
Location: Mülheim/Ruhr

Re: Ergänzung LCH Farbraum

Post by Hoogo » Sat 19 Sep 2015 23:48

Geile Aktion :!:
----------------
Herr Doktor, ich bin mir ganz sicher, ich habe Atom! /Doctor, doctor, I'm sure, I've got atoms!

awehring
Mitglied
Posts: 47
Joined: Tue 13 Aug 2013 22:17

Re: Ergänzung LCH Farbraum

Post by awehring » Wed 23 Sep 2015 12:16

@bkh: Woww, cool, dass Du so eine Aktion basteln kannst. Ich verstehe zwar nicht, wie die genau funktioniert, aber sei es drum.

Allerdings gelingt es mir nicht, damit das gleiche Ergebnis wie in meinem ersten Beitrag zu erzielen, das ist mit dem Tool von David Johnstone gemacht (http://davidjohnstone.net/pages/lch-lab ... ent-picker).


Mit Deiner Aktion habe ich das so gemacht: Zunächst habe ich eine rein grüne und eine rein blaue Fläche angelegt (RGB: 0/255/0, bzw. 0/0/255).

Dann lege ich über die blaue Fläche Deine Aktion. Dabei verändert sich das Blau ein wenig, von 0/0/255 auf 19/3/253. Streng genommen sollte es unverändert bleiben. Aber gut, fürs Ausprobieren sollte die Genauigkeit reichen.

Dann habe ich versucht mit dem L und C-Regler (also a-Kanal der Arbeitsebene "LC adjustment") das gleiche helle Blau wie in meinem ersten Beitrag einzustellen. Als erstes das L in der Gradationkurve so lange veschieben bis es auf 88 steht, wie beim Grün. Gemessen mit dem Farbaufnehmer und Lab Anzeige.

Für den C Wert gibt es hier in der Aktion keinen numerischen Wert. Wenn ich versuche den C Wert (a-Kanal) nach Augenmass einzustellen, erreiche ich das Blau von David Johnstone überhaupt nicht. Das beste Ergebnis zeigt das Bild.

Dem Eindruck nach ist es auch wesentlich heller als das Grün, obwohl der Helligkeitswert bei beiden gleich ist. Genau das soll der LCH Farbraum vermeiden!

Mache ich bei der Handhabung der Aktion etwas falsch?


Wichtig: In diesem Screenshot wirkt das allerdings anders als direkt in Photoline. Ich habe deshalb auch die PLD-Dateien verlinkt. Schaut es euch in PhotoLine an!
Aktionstest_k.jpg
Test_grün.pld
Test_blau.pld
You do not have the required permissions to view the files attached to this post.

bkh
Betatester
Posts: 3646
Joined: Thu 26 Nov 2009 22:59

Re: Ergänzung LCH Farbraum

Post by bkh » Wed 23 Sep 2015 13:05

awehring wrote:Dann lege ich über die blaue Fläche Deine Aktion. Dabei verändert sich das Blau ein wenig, von 0/0/255 auf 19/3/253. Streng genommen sollte es unverändert bleiben. Aber gut, fürs Ausprobieren sollte die Genauigkeit reichen.
Ja, das passiert aber schon beim Umrechnen von sRGB nach Lab. Wenn man erst nach 32 bit RGB und dann nach Lab umschaltet, funktioniert es genauer, das lässt sich aber in der Aktion nicht so leicht machen.

EDIT: ich kann das Problem im Moment nicht mehr reproduzieren (außer ich schalte erst nach Lab und dann auf 32 bit), bei mir wird RGB-Grün und RGB-Blau im Moment präzise umgerechnet (und auch die Ebenen der Aktion ändern die Werte nicht).
awehring wrote:Dann habe ich versucht mit dem L und C-Regler (also a-Kanal der Arbeitsebene "LC adjustment") das gleiche helle Blau wie in meinem ersten Beitrag einzustellen. Als erstes das L in der Gradationkurve so lange veschieben bis es auf 88 steht, wie beim Grün. Gemessen mit dem Farbaufnehmer und Lab Anzeige.

Für den C Wert gibt es hier in der Aktion keinen numerischen Wert. Wenn ich versuche den C Wert (a-Kanal) nach Augenmass einzustellen, erreiche ich das Blau von David Johnstone überhaupt nicht. Das beste Ergebnis zeigt das Bild.
So ganz verstehe ich dein Problem nicht. Nur mit dem L- und C-Regler allein kommt man nicht von dem dunklen Blau deines ersten Beispiels auf das helle Cyan im 2. Beispiel. Da hat sich ja auch der h-Wert massiv geändert. Was du siehst, sind vermutlich unterschiedliche Verhalten beim Farbüberlauf, denn das passende Blau kann zumindest der Monitorfarbraum nicht darstellen, vielleicht ist es auch schon jenseits der physikalisch möglichen Farben. Leider eines der Grundprobleme mit LCh und Lab, man gerät sehr schnell außerhalb des darstellbaren Bereichs und oft reagieren die beteiligten Farbräume dann mit merkwürdigen Farbtonverschiebungen.

Ach ja, der C-Kanal ist so skaliert, dass der Maximalwert 255 einem C-Wert von etwa 181 entspricht (128·√2, das ist der maximale C-Wert, der bei PL auftreten kann). Für einen C-Wert von 49 müsstest du also ca. 49*255/181 ≈ 69 einstellen.

L.G.

Burkhard.