Home / LinuxUser / 2010 / 09 / HDR-Workflow ohne Stativ und Mausklicks

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

HDR für Faule

HDR-Workflow ohne Stativ und Mausklicks

All-inclusive-Paket

Alle im Überblick erwähnten Schritte erledigen Linux-Programme. Die Kunst besteht darin, sie so zu verknüpfen, dass alles automatisch abläuft. Um das Installieren der notwendigen Werkzeuge kommen Sie allerdings nicht herum. Da es sich aber um Standard-Tools handelt, finden Sie diese in aller Regel in den Repositories Ihrer Distribution.

Die Tabelle "Notwendige Pakete" zeigt alle für den Workflow erforderlichen Programme. Ein Bash-Skript namens Hdrff verknüpft deren Funktionen zu einer Toolchain. Dieses Skript entwickelte der Autor für seine Bedürfnisse und Ausrüstung. Da jeder Kamerahersteller bei den RAW-Dateiformaten sein eigenes Süppchen kocht, kommen Sie nicht umhin, das Skript an Ihre Gegebenheiten anzupassen.

Das Skript selbst finden Sie unter [1], Nutzer der DVD-Edition finden es darüber hinaus auf der Heft-DVD. Listing 1 fasst nur die einzelnen Teilbefehle zusammen. Wie Sie das Skript einrichten und mit ihm arbeiten, zeigt der Kasten "Hdrff einrichten und verwenden".

Notwendige Pakete

Name Beschreibung
ImageMagick Das schweizer Taschenmesser der automatischen Bildverarbeitung
Exiftool Lesen und Schreiben von EXIF-Daten
Enblend/Enfuse Kombiniert mehrere Dateien
Hugin Komplette Toolchain für Panoramaaufnahmen
Pfstools Basispaket zum Verarbeiten von HDR-Dateien
Pfscalibration HDR-Paket mit speziellen Tools für digitale Aufnahmen
Pfstmo Tonemapping-Programme (Umsetzung von HDR nach LDR)
Qtpfsgui Graphische Oberfläche für die verschiedenen PFS-Pakete
Ufraw RAW-Konverter mit GUI- und Kommandozeilen-Modus
Gimp Leistungsstarkes Programm zur Fotobearbeitung

Hdrff einrichten und verwenden

Die modular aufgebaute Skriptsammlung besteht aus dem Hauptprogramm Hdrff und verschiedenen Modulen, beispielsweise hdrff_copyFiles.inc. Kopieren Sie es mit den Modulen als Benutzer Root ins Verzeichnis /usr/local/bin. Die Konfigurationsdatei .hdrff kopieren Sie in Ihr Heimatverzeichnis und passen sie an Ihre Bedürfnisse an. Stellen Sie sicher, dass alle notwendigen Programmpakete installiert sind.

Hängen Sie danach die Speicherkarte ein. Passen Sie den Mountpoint gegebenfalls noch in der Steuerdatei .hdrff an (Variable MEDIA). Viele Linux-Distributionen hängen die Karte selbständig ein, den genauen Mountpunkt verrät ihnen der Befehl mount in der Konsole.

Im einfachsten Fall rufen Sie hdrff in einer Kommandozeile ohne weitere Parameter auf. Das Skript arbeitet alle konfigurierten Module in einem Rutsch ab. Je nach Anzahl der Bilder und der Geschwindigkeit Ihres Rechners dauert das eine ganze Weile.

Alternativ arbeiten Sie die Module auch häppchenweise ab. In diesem Fall geben Sie die Module beim Skriptaufruf auf der Kommandozeile mit an. Beachten Sie dabei die Reihenfolge:

$ hdrff copyFiles name2lc fixDate setRO
$ hdrff raw2tif findGroups

Die Bilder kopieren

Die meisten Kameras erlauben den Import über die USB-Schnittstelle, einfacher und batterieschonender geht es aber mit einem Kartenleser. Auch wenn sich die Hersteller inzwischen an den DCIM-Standard für die Dateiablage auf den Speicherkarten halten, variieren doch die Ordnernamen. Deshalb kopiert das Hdrff-Skript die Dateien über einen Find-Befehl auf die Festplatte (Listing 1, Zeile 2). Jede Datei, die das Tool findet, setzt es anstelle des geschweiften Klammerpaars in den Kopierbefehl ein.

Chmod entfernt danach zur Sicherheit die Schreib- und Ausführungsrechte der Bilderdateien, außerdem wandelt eine Schleife die Dateinamen von Groß- in Kleinbuchstaben um. Da Linuxrechner typischerweise mit einer auf UTC konfigurierten Hardware-Uhr arbeiten, während Digitalkameras meist Lokalzeit verwenden, setzt das Skript auch noch das Dateidatum gleich dem Aufnahmedatum.

Erzeugt Ihre Kameras nur JPEGs, erledigt der Convert-Befehl (Zeile 5) das Umwandeln in TIFF. Andernfalls greift das Skript auf den RAW-Konverter Ufraw-batch zurück (Zeilen 8 bis 10). Das TIF-Format erlaubt auch eine Kompression der Bilder. Das spart zwar Speicherplatz, verlangsamt aber das weitere Verarbeiten erheblich, weswegen wir in diesem frühen Stadium darauf verzichten.

Noch heute besitzen einige Kameras keinen Orientierungssensor. Deren Fotos müssen Sie anschließend manuell sichten und bei Bedarf von Hand rotieren. Aber auch sonst bietet es sich an dieser Stelle des Workflows an, innezuhalten und die Bilder einer kritischen Auswahl zu unterziehen. Die folgenden rechenintensiven Schritte dauern nämlich selbst auf aktuellen Rechnern lange, und jedes aussortierte Bild verkürzt die Gesamtrechenzeit.

Listing 1

# Dateien kopieren
find /mnt -iname "*.nef" -exec cp -va {} /data/orig \;
# JPGs nach TIF umwandeln
convert -verbose -quality 98 /data/orig/dsc_1234.nef /data/img/dsc_1234.tif
# RAW-Dateien nach TIF umwandeln
ufraw-batch  \
         --out-type=tif --out-depth=16 \
         --out-path=/data/img --overwrite --create-id=no /data/orig/*
# HDR-Gruppen finden (Aufnahmen maximal 1 Sekunde auseinander)
oldTime=0
for f in /data/orig/*.nef; do
   # Zeitstempel aktuelle Aufnahme berechnen
   newTime=$(exiftool -q -q -s -s -s -d "%s" -DateTimeOriginal "$f")
   if [ -z "$newTime" ]; then
     continue
   fi
   # Zeitvergleich
   if (( newTime-oldTime > 1 )); then
     # eine neue Reihe fängt an. Beende die alte Reihe
     ...
   else
     # aktuelles Bild an Liste anfügen
     ...
   fi
# Speichern der Vergleichszeit für nächste Aufnahme
   oldTime="$newTime"
 done
# CAs korrigieren
 caParms=$(tca_correct -o abcv dsc_1234.tif | tail -n 1)
 fulla $caParms -o ca_1234.tif dsc_1234.tif
# Bilder ausrichten
 align_image_stack -a AIS_ dsc_1234.tif dsc_1235.tif dsc_1236.tif
# Bilder mit enfuse verschmelzen
 enfuse -o enf_1234.tif ais_1234.tif ais_1235.tif ais_1236.tif
 mogrify -alpha off -compress zip  enf_1234.tif
# HDR erzeugen
 dcraw2hdrgen ais_1234.tif ais_1235.tif ais_1236.tif | \
                            sort -rn -k 2 > hdr.cfg
 pfsinhdrgen hdr.cfg | \
   pfshdrcalibrate -c none -r gamma --bpp 16 | \
      pfsclamp --rgb | \
        pfsout hdr_1234.hdr
# Tonemapping mit Fattal
 pfsin hdr_1234.hdr | \
   pfstmo_fattal02 -s 1 | \
     pfsgamma --gamma 2.2 | \
       pfsout fattal_1234.tif
# Tonemapping mit Mantiuk
 pfsin hdr_1234.hdr | \
   pfstmo_mantiuk06 -e 1 -s 1 | \
     pfsgamma --gamma 2.2 | \
       pfsout mantiuk_1234.tif
Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 97 Punkte (6 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...