Dunst entfernen Verständnisfrage

Hier diskutieren die Anwender von PhotoLine untereinander
obetz
Mitglied
Beiträge: 10
Registriert: Do 01 Nov 2012 19:25

Dunst entfernen Verständnisfrage

Beitrag von obetz »

Hallo Alle,

beim Filter "Dunst entfernen" sollte das Streulicht entfernt werden, also das Bild dunkler werden. Auch die Hilfe schreibt "Da Dunst entfernen Streulicht entfernt, wird das Bild dadurch immer dunkler. Es kann also nötig sein, es danach aufzuhellen"

Wenn ich den Filter anwende, werden aber auch Bildteile heller, die Spitzlichter werden zu hell. Das verstehe ich nicht - Wie funktioniert "entfernen" rechnerisch?

In der Form sehe ich Probleme bei der Anwendung des Filters.

Wie groß dürfen Dateianhänge hier im Forum werden, ist die Dateigröße oder die Bildgröße (Pixel) das Limit? Ich habe die Beispiele jetzt mal unter http://oliverbetz.de/pages/Temp/PhotolineDunst abgelegt. Dazu gleich mal das, wie Neutralhazer und DxO Dunst entfernen.

Grüße

Oliver
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Dunst entfernen Verständnisfrage

Beitrag von bkh »

obetz hat geschrieben:Wenn ich den Filter anwende, werden aber auch Bildteile heller, die Spitzlichter werden zu hell. Das verstehe ich nicht - Wie funktioniert "entfernen" rechnerisch?
Was rechnerisch passiert, kann man gut sehen, wenn man den Filter angewendet hat – PL verändert ja nicht das Bild selbst, sondern legt zwei neue Ebenen an (eine farbige Vektorebene und eine dazu gehörige Ebenenmaske, die man "ausklappen" kann). Die Farbe der Vektorebene wird aus dem ursprünglichen Bild herausgerechnet, der Prozentsatz der Farbe im ursprünglichen Bild wird von der Ebenenmaske festgelegt.

Das Problem mit den Spitzlichtern entsteht dadurch, dass PL in deinem Bild die Farbe zu dunkel schätzt. Ich vermute, dass das damit zu tun hat, dass kein Himmel mit im Bild ist. Am besten die Farbe erst berechnen lassen, dann von Hand nachjustieren (wenn man in deinem Fall die Farbe im HSV-Farbeditor heller macht und die Sättigung herunter dreht, verschwinden die Probleme mit den Spitzlichtern). Genauso gut kann man übrigens nachher die Farbe der Vektorebene ändern.

L.G.

Burkhard.
obetz
Mitglied
Beiträge: 10
Registriert: Do 01 Nov 2012 19:25

Re: Dunst entfernen Verständnisfrage

Beitrag von obetz »

Was rechnerisch passiert, kann man gut sehen, wenn man den Filter angewendet hat [...] Die Farbe der Vektorebene wird aus dem ursprünglichen Bild herausgerechnet
"herausgerechnet" hilft mir als Antwort auf meine Frage bezüglich "rechnerisch" gar nicht weiter. Was wird gerechnet?

Eine weitere Frage ist, ob das die richtige Methode ist.

Dunst fügt Licht hinzu. Das muss bei der Korrektur subtrahiert werden - bei einer Subtraktion kann m.E. nichts heller werden.

Natürlich kann das Bild danach zu dunkel sein, weil die Belichtungsautomatik der Kamera das Bild mit dem Streulicht berücksichtigt hat. So schreibt es auch die Hilfe.

Wenn ein Filter diesen "zu dunkel" Effekt automatisch korrigiert, darf aber danach keinesfalls ein Spitzlicht ausfressen.
Das Problem mit den Spitzlichtern entsteht dadurch, dass PL in deinem Bild die Farbe zu dunkel schätzt
Die Aussage irritiert mich.

Photoline hat in meinem Beispielbild eine recht helle Farbe geschätzt - viel heller als das Streulicht selbst im oberen Bildbereich ist. Deshalb wollte ich wissen, was "Entfernen" als mathematische Operation bedeutet.

M.E. sollte ein Dunstfilter schätzen, welches Streulicht vorhanden ist. Je dunkler (weniger Streulicht) das ist, um so wenig sollte korrigiert (subtrahiert) werden. Ein "educated guess" sind die Minima der einzelnen Farbkanäle in einem bestimmten Radius. Man geht davon aus, dass innerhalb eines gewissen Radius jeder Farbkanal "sehr dunkel" wird (das schlägt in Bildteilen fehl, die flächig hell sind).

Im Histogramm geht das recht intuitiv, eine solche Korrektur funktioniert bei einem Bild mit gleichbleibendem Streulichtanteil (Tiefe, Entfernung) ganz ordentlich - einfach die drei Kanäle einzeln links an die Kante schieben.

Oliver
Benutzeravatar
Hoogo
Betatester
Beiträge: 4029
Registriert: So 03 Jul 2005 13:35
Wohnort: Mülheim/Ruhr

Re: Dunst entfernen Verständnisfrage

Beitrag von Hoogo »

"Entfernen" ist die Umkehrung zu "Normal". Die Idee hinter "normal" ist, dass Streulicht das Bild nicht einfach heller macht, sondern ein selbst leuchtender Nebel (=halb transparentes Objekt) ist, der den Hintergrund auch verdeckt. Wenn man Nebel selber erzeugen wollte, dann würde man das über eine recht transparente Wolke im Modus "normal" machen. Ein Duplikat dieser Wolke im Modus "Entfernen" kann das wieder rückgängig machen.
----------------
Herr Doktor, ich bin mir ganz sicher, ich habe Atom! /Doctor, doctor, I'm sure, I've got atoms!
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Dunst entfernen Verständnisfrage

Beitrag von bkh »

obetz hat geschrieben:
Was rechnerisch passiert, kann man gut sehen, wenn man den Filter angewendet hat [...] Die Farbe der Vektorebene wird aus dem ursprünglichen Bild herausgerechnet
"herausgerechnet" hilft mir als Antwort auf meine Frage bezüglich "rechnerisch" gar nicht weiter. Was wird gerechnet?
Wie Hoogo schon schreibt, geht PL davon aus, dass das Bild mit Dunst aus einem Bild ohne Dunst und einer Dunstebene (mit Teiltransparenz) besteht, die nach der normalen Vorschrift für Ebenentransparenzen miteinander verrechnet sind (deswegen "Modus normal"). Die geschätzte Dunstebene ist die, die du siehst.
obetz hat geschrieben:Dunst fügt Licht hinzu. Das muss bei der Korrektur subtrahiert werden - bei einer Subtraktion kann m.E. nichts heller werden.
Nein, was heller ist als der Dunst wird durch den Dunst abgedunkelt und nachher wieder heller.
obetz hat geschrieben:Im Histogramm geht das recht intuitiv, eine solche Korrektur funktioniert bei einem Bild mit gleichbleibendem Streulichtanteil (Tiefe, Entfernung) ganz ordentlich - einfach die drei Kanäle einzeln links an die Kante schieben.
Das funktioniert nur, wenn du Schwarz im Bild hast.

L.G.

Burkhard.
obetz
Mitglied
Beiträge: 10
Registriert: Do 01 Nov 2012 19:25

Re: Dunst entfernen Verständnisfrage

Beitrag von obetz »

interessanter Ansatz, den Dunst wie eine hinzugemischte Ebene zu betrachten. Tatsächlich scheint mir Streuung in der Atmosphäre jedoch wesentlich komplizierter zu sein. Je nach Teilchengröße (Tyndall...Rayleigh) verändert sich die Natur der Streuung dramatisch. Und die Dämpfung ist im Grunde ein zur Dicke des Mediums exponentieller Effekt (bei den geringen Dicken, mit denen wir zu tun haben, jedoch linearisierbar), während die Streuung in Richtung der Kamera vermutlich schwächer als linear steigt.

Ich muss das jetzt nicht zu Ende denken/rechnen, aber ich unterstelle, dass sich die Dämpfung mit der Tiefe nicht im gleichen Maß verändert wie die Streuung. Bei Weitwinkelaufnahmen schon gar nicht, da ändert sich sogar die Farbe des Streulichts. Und in der Praxis gleicht die Belichtungsautomatik der Kamera die Dämpfung in einigen Bildbereichen aus, so dass ich wohl regelmäßig eine Überbelichtung erhalte, wenn ich die Dämpfung wieder herauszurechnen versuche.
Im Histogramm geht das recht intuitiv, eine solche Korrektur funktioniert bei einem Bild mit gleichbleibendem Streulichtanteil (Tiefe, Entfernung) ganz ordentlich - einfach die drei Kanäle einzeln links an die Kante schieben.
Das funktioniert nur, wenn du Schwarz im Bild hast.
Das funktioniert auch ohne "Schwarz" ganz hervorragend, denn viele Bildelemente sind in wenigstens einem Kanal "dunkel", es ist nicht nötig, dass ein einzelnes Pixel in allen drei Kanälen dunkel ist. Siehe z.B. "Dark Channel Prior" von He/Sun/Tan.

Solange man also das Histogramm solcher "normaler" Bildbereiche ansieht, zeigt einem die linken Kanten der Einzelkanäle die Dunstfarbe. Im Himmel und bei größeren unbunten Flächen funktioniert das nicht (daher ist es sicher knifflig, automatische Filter zu programmieren).

Oliver
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Dunst entfernen Verständnisfrage

Beitrag von bkh »

obetz hat geschrieben:interessanter Ansatz, den Dunst wie eine hinzugemischte Ebene zu betrachten. Tatsächlich scheint mir Streuung in der Atmosphäre jedoch wesentlich komplizierter zu sein. Je nach Teilchengröße (Tyndall...Rayleigh) verändert sich die Natur der Streuung dramatisch. Und die Dämpfung ist im Grunde ein zur Dicke des Mediums exponentieller Effekt (bei den geringen Dicken, mit denen wir zu tun haben, jedoch linearisierbar), während die Streuung in Richtung der Kamera vermutlich schwächer als linear steigt.
Selbstverständlich ist das nur ein einfaches Modell, schwerwiegender dürfte sein, dass bei nichtlinearen Farbräumen das "Herausrechnen" nicht physikalisch exakt erfolgt, so, wie auch die Farbaddition nicht physikalisch exakt erfolgt.
obetz hat geschrieben:Im Histogramm geht das recht intuitiv, eine solche Korrektur funktioniert bei einem Bild mit gleichbleibendem Streulichtanteil (Tiefe, Entfernung) ganz ordentlich - einfach die drei Kanäle einzeln links an die Kante schieben.
Das funktioniert nur, wenn du Schwarz im Bild hast.
Das funktioniert auch ohne "Schwarz" ganz hervorragend, denn viele Bildelemente sind in wenigstens einem Kanal "dunkel", es ist nicht nötig, dass ein einzelnes Pixel in allen drei Kanälen dunkel ist. Siehe z.B. "Dark Channel Prior" von He/Sun/Tan.
[/quote]
Farben mit einem Farbwert nahe Null liegen am Rand des verwendeten Farbraums und kommen – selbst bei einem so kleinen Farbraum wie sRGB – sehr selten vor. Daher funktioniert das Verfahren ohne Schwarz/starke Schatten im Bild meiner Erfahrung nach nicht gut, die Farben werden erwartungsgemäß zu gesättigt. Kannst du aber leicht in Pl ausprobieren. Ebene kopieren, Filter "Minimum" (mit genügend großem Radius) darauf anwenden, Ebenenmodus "subtrahieren". Diese neue Ebene nochmals kopieren, invertieren, Ebenenmodus "Dividieren". Dreht man die Ebenenintensität der "Subtrahieren"-Ebene deutlich herunter, dann wird das Ergebnis erträglich.
obetz hat geschrieben: Solange man also das Histogramm solcher "normaler" Bildbereiche ansieht, zeigt einem die linken Kanten der Einzelkanäle die Dunstfarbe. Im Himmel und bei größeren unbunten Flächen funktioniert das nicht (daher ist es sicher knifflig, automatische Filter zu programmieren).
Insbesondere, wenn man davon ausgehen muss, dass nicht alle Bildteile gleich stark vom Dunst betroffen sind. Wie PL die Dunstfarbe schätzt, kann ich leider auch nicht sagen.

L.G.

Burkhard.
obetz
Mitglied
Beiträge: 10
Registriert: Do 01 Nov 2012 19:25

Re: Dunst entfernen Verständnisfrage

Beitrag von obetz »

Selbstverständlich ist das nur ein einfaches Modell, schwerwiegender dürfte sein, dass bei nichtlinearen Farbräumen das "Herausrechnen" nicht physikalisch exakt erfolgt, so, wie auch die Farbaddition nicht physikalisch exakt erfolgt.
Das dürfte beim Herausrechnen von Dunst eher ein untergeordnetes Problem sein.
Farben mit einem Farbwert nahe Null liegen am Rand des verwendeten Farbraums und kommen – selbst bei einem so kleinen Farbraum wie sRGB – sehr selten vor.
Ich schrieb auch von Pixeln, die in wenigstens einem Kanal (R oder G oder B) eine geringe Intensität haben, nicht in allen Kanälen gleichzeitig. Davon kommen reichlich vor. Lies das Paper von He/Sun/Tan, wenn Du mir nicht glaubst.

Außerdem kannst Du es leicht selbst sehen: Nimm aus http://oliverbetz.de/cms/files/Temp/Dunst.jpg z.B. das oberste Viertel und sieh Dir das Histogramm an. Das dürfte selbsterklärend sein. Mit einer Histogrammkorrektur separat für R,G,B bekommst Du den Dunst gut heraus.
bkh
Betatester
Beiträge: 3674
Registriert: Do 26 Nov 2009 22:59

Re: Dunst entfernen Verständnisfrage

Beitrag von bkh »

obetz hat geschrieben: Ich schrieb auch von Pixeln, die in wenigstens einem Kanal (R oder G oder B) eine geringe Intensität haben, nicht in allen Kanälen gleichzeitig. Davon kommen reichlich vor. Lies das Paper von He/Sun/Tan, wenn Du mir nicht glaubst.
Das sind Pixel mit voller Farbsättigung. Die kommen in der Regel nur vor, wenn alle drei Werte fast null sind. Glaub mir, ich kenne das Paper und habe das Verfahren ausführlich getestet. Funktioniert, wie alle Verfahren, die ich kenne, je nach Motiv unterschiedlich gut. Bei deinem konkreten Bild funktioniert anscheinend der PL-Filter nur bei kleinen Radien (≈10) vernünftig.
obetz hat geschrieben:Außerdem kannst Du es leicht selbst sehen: Nimm aus http://oliverbetz.de/cms/files/Temp/Dunst.jpg z.B. das oberste Viertel und sieh Dir das Histogramm an. Das dürfte selbsterklärend sein. Mit einer Histogrammkorrektur separat für R,G,B bekommst Du den Dunst gut heraus.
Da sind genügend dunkle Stellen, wo alle drei Werte (fast) Null sind. Wenn ich allerdings beim oberen Viertel die Histogrammkorrektur so einstelle, dass keine R,G- oder B-Werte geclippt werden, ist die Dunstentfernung für den oberen Bildrand nicht genügend. Wie gesagt, das automatisierte Verfahren von He/Sun/Tan kannst du in PL leicht selbst ausprobieren, das funktioniert für das Testbild auch, weil eben genügend dunkle Stellen vorhanden sind.

L.G.

Burkhard.
obetz
Mitglied
Beiträge: 10
Registriert: Do 01 Nov 2012 19:25

Re: Dunst entfernen Verständnisfrage

Beitrag von obetz »

Sorry für die Pause...
Bei deinem konkreten Bild funktioniert anscheinend der PL-Filter nur bei kleinen Radien (≈10) vernünftig.
Der "Dunst entfernen" Filter funktionierte hier auch bei anderen Fotos nicht zuverlässig. Ich mache das jetzt mit DxO (gab's am Jahresende günstiger). Wahrscheinlich ist es halt nicht so einfach, einen solchen Filter zu implementieren.
Wenn ich allerdings beim oberen Viertel die Histogrammkorrektur so einstelle, dass keine R,G- oder B-Werte geclippt werden, ist die Dunstentfernung für den oberen Bildrand nicht genügend.
Deshalb benötigt man ja den Aufwand mit der Tiefenkarte.
das automatisierte Verfahren von He/Sun/Tan kannst du in PL leicht selbst ausprobieren
BTDT, "leicht" ist es aber nicht und es funktioniert auch nicht bei jedem Bildmaterial automatisch.

Viele Grüße,

Oliver