WERBUNG

[Tutorial] DRI Erzeugung mit GIMP

pixel_pinguin

Themenersteller
Hallo zusammen,

ich bin zwar noch recht neu im Forum, aber ich möchte trotzdem hier die Möglichkeit wahrnehmen, meine Arbeitsweise zum Thema DRI mit GIMP darzustellen.

Als ich angefangen habe, mich mit HDR zu beschäftigen, hatte ich die Wahl zwischen „echtem“ HDR mit HDR-Software und anschließendem Tonemapping, oder DRI mittels Ebenenstapeln und Masken. Wie man vielleicht erahnen kann, habe ich mich für die zweite Methode entschieden. Zunächst nutzte ich immer ein Plugin (namens exposure-blend), die dortigen Parameter musste ich mir jedoch selbst erarbeiten und mit nur drei Bildern, die aufwendig einzeln geöffnet werden müssen, war dies auch nicht sehr umfangreich.

Die Ergebnisse waren für den Anfang ganz in Ordnung, aber es war sehr bald das Maximum ausgereizt. :rolleyes:

Dann habe ich mal den „manuellen“ Weg versucht, den ich hier etwas näher erläutern möchte.
Mir geht es allgemein in diesem Tutorial nicht um kreative Entfremdung der Bilder, sondern um eine Möglichkeit einen großen Dynamikumfang eines Motivs technisch hochwertig in einem Bild zu vereinigen.

Zunächst etwas Theorie (wer die Grundlagen von HDR mittels Ebenenmasken kennt → überspringen):

Ich habe hier 4 Aufnahmen mit unterschiedlichen Belichtungszeiten gemacht („Belichtungsreihe“). Die Histogramme darüber zeigen, dass der gesamte Helligkeitsbereich eingefangen wurde (→ „Dynamikumfang“). Wie man schon sehen kann, haben wir im linken/hellen Bild einen „ausgebrannten“ Himmel, also eine strukturlose weiße Fläche, aber dafür eine ordentlich belichtete Pflanze im Vordergrund. Im rechten/dunklen Bild genau andersherum: detailreicher Himmel, aber eine fast schwarze Pflanze.

Histogram02.jpeg


Wenn wir uns ein Detail herauspicken, können wir das ganze noch besser beurteilen:

2x100erCrop.jpeg


Oben sehen wir Strukturen in den Blättern, aber ausgebrannte Kanten und unten saubere Kanten, aber strukturlose Blätter. Jetzt müssen wir beide Extreme irgendwie vereinigen.

Hier mal die Originaldateien:

IMG_1823.JPG - sehr hell
IMG_1824.JPG - hell
IMG_1825.JPG - normal
IMG_1826.JPG - dunkel

Zunächst beginnen wir mit 2 Ausgangsbildern: dem hellsten und dem dunkelsten. Dass wir damit nicht das beste Ergebnis bekommen, stört erst einmal nicht, wir wollen ja den Ablauf kennenlernen.

Wir laden also beide Bilder in GIMP und legen sie als Ebenen übereinander. Ob die hellere oder die dunklere unten liegt, ist eigentlich egal. Ich packe immer die hellere nach unten und werde es in der Anleitung ebenso machen.

Jetzt fängt der ganze Spaß an:

1. Wir machen die obere Ebene durch Klick auf das Auge unsichtbar und duplizieren die untere Ebene.

Ebenenstapel01.jpeg


2. Wir wählen die duplizierte Ebene aus, und öffnen den „Werte“-Dialog(unter: Farben → Werte) und schieben den linken Regler unter dem Histogramm auf die 140. Wohin genau ist hier egal. Er kann theoretisch auch bei 0 bleiben. Es hat nachher mit der Menge der Überlagerung an den dunkleren Stellen zu tun. Bei 140 kommen wir aber mit unserem Material auf das ansehnlichste Ergebnis.
3. Als nächsten Schritt öffnen wir den Entsättigungs-Dialog (Farben → Entsättigen) und entsättigen nach Durchschnitt. (Schritt ist nicht zwingend notwendig, kommt aufs gleiche Ergebnis; zur Übersicht bei vielen Ebenen aber sinnvoll)
4. Nun wählen wir die oberste Ebene. Also die dunkle und im Moment noch unsichtbare Ebene und geben ihr mit Rechtsklick → Ebenenmaske hinzufügen, eine weiße(!) Ebenenmaske.
5. Wir wählen wieder die duplizierte Ebene aus, markieren auf ihr alles (Auswahl → Alles bzw. Strg + A) und schneiden die Markierung aus (Bearbeiten → Ausschneiden bzw. Strg + X). Jetzt wählen wir die angelegte Ebenenmaske durch einen Klick auf sie im Ebenenfenster aus. Das Vorschaubild im Ebenenfenster sollte jetzt einen kleinen weißen Rand bekommen. Unsere Auswahl fügen wir mit Strg + V (oder Bearbeiten → Einfügen) wieder ein und klicken auf den kleinen Anker im Ebenenmenü (oder Ebene → Ebene verankern).
6. Die Ebenenmaske sollte nun mit unserem schwarz/weiß Bild gefüllt sein.
7. Nun geben wir der obenen Ebene wieder das Auge zurück und schieben die Deckkraft auf 35%. Die „mittlere“ leere Ebene kann getrost gelöscht werden.

Es wirkt jetzt alles ziemlich grau und irgendwie auch matschig... Dagegen hilft ein wenig weichzeichnen :ugly:

8. Wir markieren die Maske(!) im Ebenenfenster und geben ihr im Gauß'schen Weichzeichner (Filter → Weichzeichnen → …) einen Weichzeichenradius von 30px. Wichtig: Nur die Maske weichzeichnen, nicht die Ebene selbst.

Das Ergebnis lässt sich sehen: :eek:

weichgezeichnet.jpeg


Das Weichzeichnen lässt den (ursprünglichen) lokalen Kontrast wiedererkennen. Die Maske hat also an den Kanten von Blatt zu Hintergrund keine scharfe dunkelgrau/weiß-Kante sondern durch das Weichzeichnen einen grauen Verlauf bekommen, der die Kante nicht mehr so stark auf die gleiche Helligkeit bringt.
Benutzt man einen zu großen Radius und/oder hat man zu extreme Kanten können unschöne Halos auftreten. Deshalb muss man ein wenig mit den Parametern spielen, bis alles super aussieht.


Wenn wir nun noch ein wenig mit Tonwertkurven spielen und Kontrast, Schärfe und Sättigung anpassen, kommen wir doch auf ein gutes Ergebnis.
Ergebnis nach 2 Ausgangsbildern

Noch besser wird es aber, wenn man alle 4 Ausgangsbilder miteinbezieht.

Jetzt könnte man den obigen Ablauf mit jeder einzelnen Ebene durchführen. Doch ob die Werte für die einzelnen Ebenen am Ende das gewünschte Ergebnis bringen?

Genau das wollte ich nach unzähligen fehlgeschlagenen Versuchen nicht mehr und habe ein Plugin/Skript für GIMP geschrieben. Und so sieht es aus:

skript.jpeg


Und hier gibts das Skript selbst. → Installation

Grundsätzlich braucht dieses Plugin einen nach Helligkeit sortierten Ebenenstapel vor sich, wobei keine Ebene eine Maske haben darf. Für jede (außer der untersten) Ebene generiert das Skript nach den Parametern einen Maske und fügt sie ein. Nach Abschluss kann man die Deckkraft der Ebenen nach belieben noch anpassen.

Man wählt zunächst aus, ob man eine sw-Maske, oder eine „Grau“maske haben möchte. Da sw nur in bestimmten Situationen Sinn macht (z.B. Nachtaufnahmen mit punktuellen Überstrahlungen), setzen wir dort ein Häkchen. Das nächste Feld lassen wir leer. Dies wird gebraucht, wenn die dunkelste Ebene unten liegt. Hier sind aber noch Fehler enthalten.

Der Maskenursprung: Wir können hier wählen, ob die Ebene ihre Maske aus sich selbst bezieht, aus der Ebene, die direkt unter ihr liegt (wie in unserem Fall oben), oder die ganz unterste Ebene als Bezug nimmt. Wir nehmen hier unsere alt-gewohnte Art...

Weichzeichenradius: Oben bereits als das non-plus-Ultra erwähnt. Sollte bei mehreren Ebenen nicht mehr ganz so hoch angesetzt werden. Bei 4 Ebenen in unserem Fall sind 10 ok. Bei zu hohen Werten werden auch Halos mehr und mehr sichtbar. :evil:

Schwellwert: Hier legen wir den Wert fest, den wir bei unserer Übung auf 140 gesetzt haben. Auch hier gilt, je mehr Ebenen, desto niedriger. Bei uns sind 50 angebracht.

Zusätzlich können wir auswählen, ob wir nicht doch den selektiven Weichzeichner für unsere Maske nutzen wollen. Ich habs für unser Beispiel getestet... Es ist Geschmackssache. (btw: Der selektive Weichzeichner braucht je nach Werten erheblich länger)

Hier mal der Vergleich mit sonst gleichen Parametern:

weich2.jpeg


Und zu guter Letzt meine spezielle Funktion, die eigentlich nichts mit der Beschriftung im Bild zu tun hat... (ist im Plugin schon umbenannt)
Ist der Haken nicht gesetzt, wird aus der Maske das schwarz extrahiert. Dies verhindert übermäßige Zeichnung in den helleren Bereichen und verstärkt die dunkleren Stellen (es lässt praktisch das Histogramm „kippen“). Wenn dies aber gewollt ist, wie in den meisten Anwendungsfällen, bleibt der Haken dort gesetzt.

Nach abschließender Bearbeitung des Zusammenschnitts aus 4 Ausgangsbildern, haben wir ein Bild, welches in allen Ecken und Enden Details erkennen lässt und im Allgemeinen auch natürlich wirkt.

Ergebnis nach 4 Ausgangsbildern

Stellen wir dieses Bild unserem Zusammenschnitt aus 2 Bildern gegenüber, lassen sich deutlich Unterschiede erkennen:

fertigCrop.jpeg


Sollte das fertige Bild nach mehrfachen Versuchen mit dem Skript immer noch unnatürlich und grau/matschig aussehen, hilft oft auch eine schwache Überlagerung mit einem normal belichtetem Bild. Also über das graue Endprodukt noch einmal ein mittleres Bild der Belichtungsreihe mit etwas Deckkraft drauflegen.

Die Überlagerung des Endprodukts mit anderen „Endprodukten“ ist natürlich ebenso möglich und bringt je nach Anwendungsfall auch ein Ergebnis, welches durch einmaliges Ausführen des Skripts nie erreicht worden wäre. Also: Nur zu und mischt euch ne graue Suppe :evil:


Zusammengefasst hat DRI gegenüber echtem HDR folgende Vorteile:

  • weniger Probleme mit Halos
  • gezieltes Eingreifen in die Masken und Ursprungsbilder möglich
  • keine Tonemapping-Software nötig und
  • es entfällt der Zwischenschritt über ein generiertes HDR-Bild

Es gibt aber auch Nachteile:
  • Ghosting kann nur mit hohem Aufwand entfernt werden
  • bei neuer Interpretation muss von vorne begonnen werden (es gibt kein Zwischenprodukt, wie beim echten HDR, welches nur anders ge-tonemapped werden muss)
  • es erfordert Verständnis von der Materie (im Gegensatz zum teilweise voll-automatischen HDR-Errechnen)

Bei technisch korrekter Anwendung kommt man natürlich bei beiden Methoden auf gute Ergebnisse. Deshalb haben in meinen Augen auch beide Vorgehensweisen ihre Daseinsberechtigung. :top:

Ich hoffe, mein Tutorial war einigermaßen ansprechend, logisch und nachvollziehbar. Anregungen, Hinweise und andere Verbesserungen werden gerne entgegengenommen :)

So... Und weil ich heute ganz nett bin, gebe ich euch noch ein Beispiel :D

IMG_1830.JPG - sehr hell
IMG_1831.JPG - hell
IMG_1832.JPG - normal
IMG_1833.JPG - dunkel

Probiert damit mal euer bestes. Ich habs schon gemacht. Mein Skript durfte mit folgenden Parametern laufen:

[X] Graustufung
[ ] Invertieren
[Darunterliegende Ebene]
Weichzeichenradius: 8
Schwellwert: 0
[ ] selektiv Weichzeichnen
(edge-protection -> nicht notwendig)
[X] Masken schwarz belassen

Die Deckkraft der Ebenen muss natürlich auch noch angepasst werden:

45% - 70% - 90% - Hintergrund

Das Ergebnis
 
Zuletzt bearbeitet:
Ich gehöre ja zu den Linux Nutzern und habe also den GIMP. Ich mag das Programm, war mir aber bisher nicht ganz klar wie man mit DRI dort richtig arbeitet. Ich brauche zwar noch ein bißchen Übung, da ich noch bei Schritt 5. aussteige. (Da komme ich mit den Ebenen durcheinander und einen weißen Rahmen habe ich auch nicht). Irgendwas läuft da noch krumm.

Aber toll, das sich auch mal jemand um die open source Fraktion kümmert :top:. Wenn ich das hinbekomme, werde ich da erste Ergebnis veröffentlichen:)
 
Schönes tutorial, Danke dafür :top:

Noch ein kleiner Hinweis dazu: Wenn die Bilder nicht perfekt übereinander passen, weil z.B. aus der Hand aufgenommen, macht es Sinn diese vorher aneinander anzupassen. Dafür eignet sich das plugin "Image Registration" http://gimp-image-reg.sourceforge.net/ das solche Ausrichtungsarbeiten automatisch ausführen kann.
 
Ich brauche zwar noch ein bißchen Übung, da ich noch bei Schritt 5. aussteige. (Da komme ich mit den Ebenen durcheinander und einen weißen Rahmen habe ich auch nicht). Irgendwas läuft da noch krumm.

Der "weiße Rahmen" bezieht sich auf die zu bearbeitende "Sache"!
Im Anhang ist eine Ebene zu sehen, mit Ebenenmaske. klicvkt man auf eines der beiden kleinen Bildchen, bekommt sie einen "weißen Rahmen" , was dir anzeigt, das diese Ebenenmaske oder das eigentliche Bild jetzt bearbeitet werden können!
 
Zuletzt bearbeitet:
Achso, das hab ich schon. Aber meine ersten Versuche haben noch nicht so tolle Ergebnisse gebracht. Also üben, üben, üben. :)
 
Schönes tutorial, Danke dafür :top:

Noch ein kleiner Hinweis dazu: Wenn die Bilder nicht perfekt übereinander passen, weil z.B. aus der Hand aufgenommen, macht es Sinn diese vorher aneinander anzupassen. Dafür eignet sich das plugin "Image Registration" http://gimp-image-reg.sourceforge.net/ das solche Ausrichtungsarbeiten automatisch ausführen kann.

Danke, danke :top:

Ich hab aber noch Probleme mit dem Plugin von dir... Zunächst wollte ich zwei fast deckungsgleiche Bilder begradigen. Mit dem Verschiebenwerkzeug eine Aufgabe von 3 Sekunden. Nichts zum drehen, nur paar Pixel verschieben.
Nun also Bild-Registrierung auf, Standardwerte belassen, Ebene gecheckt -> OK. Es dauerte eine Ewigkeit und dann war die zu platzierende Ebene irgendwie im Raum gewirbelt worden. Deckungsgleich geht anders :evil:

Nunja... als Test ein Bildauschnitt genommen, dupliziert, und eine von den 2 Ebenen leicht verschoben. Ergebnis sah schon besser aus (dichter an deckungsgleichheit als meine Verschiebung), aber da die Ebenen ja deckungsgleich sind, hätte viel mehr die exakte Deckungsgleichheit wieder rauskommen müssen.

Ich häng dazu mal dieses Video mit an.

Kannst du dazu irgendwas sagen. Gibts da 'nen Trick oder sowas? :D
 
Danke, danke :top:

Ich hab aber noch Probleme mit dem Plugin von dir...

Das ist zu viel der Ehre, dieses plugin ist nicht von mir, ich verwende es nur und habe deshalb den Tipp weiter gegeben. Die Differenzen erkläre ich mir damit, das es ein Algorhitmus mit ziemlich aufwändigen Näherungen ist, deswegen auch nicht schnell, aber ich habe schon gute Ergebnisse mit in allen Achsen verzogenen Bildern gehabt (schnell aus der Hand). Es ist aber auf der website ein komplettes tutorial dabei, gerade für DRI.

Was mir manchmal hilft, nur einen Ausschnitt mit bildwichtigem Motiv für die Ausrichtung markieren und dann die Ausrichtung nur für die Auswahl, nicht das gesamte Bild machen. Das Bild wird trotzdem insgesamt ausgerichtet, nur eben nur nach den Werten, die sich aus der Auswahl ergeben.
 
Du könntest dir auch mal hugin anschauen um die Bilder auszurichten. Damit lassen sich nicht nur Panoramas sondern auch gegeneinander ausgerichtete Einzelbilder ausgeben.
 
WERBUNG
Zurück
Oben Unten