Stitching, Bewegung und Rauschen
Je nach Kamera lauten die Dateinamen anders, die Cut-Kommandos muss der Anwender entsprechend anpassen. Nach dieser Schleife liegen im »jpg«
-Verzeichnis die entwickelten Bilddateien, alle korrigiert um die Belichtungseinstellungen und den Weißabgleich des optimalen Fotos. Jetzt geht es ans Zusammenfügen der großen Anzahl von Bildern, was natürlich möglichst automatisch ablaufen soll. Die optimale Lösung ist eine Mischung aus Kommandozeile und Hugin-GUI (Abbildung 7).
Die besten Ergebnisse erreicht, wer die Bilder um jeweils etwa die Hälfte überlappen lässt. Bei wenigen Bildern (Abbildungen 4 bis 6) reicht das Hugin-GUI vollkommen. Im Test erwies es sich aber oberhalb von 200 Bildern als instabil, mindestens das erste Zusammenfügen sollte dann von der Kommandozeile aus stattfinden. Im Paket »hugin«
sind dafür einige CLI-Tools enthalten. So ist zum Beispiel »Autopano-sift-c«
in der Lage, markante Stellen in Bildern zu erkennen, die auch auf mehreren Fotos vorkommen. Passen sie zusammen, setzt das Programm dort einen Kontrollpunkt, der es ermöglicht, die Bilder wie ein Mosaik aneinanderzufügen. Dieser Schritt ist aber sehr rechenaufwändig und enthält systematische Fehlerquellen.
Bei sich bewegenden Gegenständen wie Fahrzeugen oder auch bei Menschen erkennt das Programm zwar die Zugehörigkeit. Hat sich das Objekt in der Zwischenzeit jedoch bewegt, stimmt seine Position nicht mehr. Auch das Bildrauschen in kontrastarmen Bildern stellt ein Problem dar, das sich jedoch schon bei der Aufnahme durch die Wahl einer niedrigen ISO-Empfindlichkeit vermeiden lässt. Die Fotos, die trotzdem noch Fehler verursachen, löscht der Anwender am besten manuell, sie sind über ihre allzu großen Fehlerabstände leicht zu finden.
Zu guter Letzt steht der Algorithmus teils vor den gleichen Aufgaben wie das menschliche Auge, vor allem bei sich streng wiederholenden Mustern. Dann landet ein Referenzpunkt leicht mal fälschlicherweise bei der Kachel nebenan. Trotzdem lohnt es sich, immer hoffnungsvoll mit der Automatik anzufangen. Auf der Kommandozeile lautet der Befehl:
autopano-sift-c --maxmatches 15 --maxdim 2000 J1.pto _MG_*JPG
Die Berechnung dauert bei 200 Bildern schon mal eine halbe Stunde und liefert eine Datei »J1.pto«
, die alle Kontrollpunkte auflistet. Die Beschränkung auf nur 15 Punkte (»maxmatches 15«
) ist sinnvoll, damit Autopano bei Bildern, die besonders günstige Bedingungen haben, nicht so viele Punkte hinzufügt. Das würde die anderen Bilder dominieren und das spätere manuelle Eingreifen komplizieren.
Ist das Panorama als Belichtungsreihe aufgenommen, die üblicherweise aus drei jeweils gleich ausgerichteten Bildern besteht, fügt der Anwender noch weitere Punkte hinzu. Zwar ist klar, dass sich jeweils drei Bilder exakt überlappen, aber wegen der Unter- und Überbelichtung erarbeitet der Algorithmus ausgerechnet in diesem Fall ungenauere Ergebnisse. Abhilfe schafft, in die Datei »J1.pto«
noch fünf gleichmäßig übers Bild verteilte Punkte einzufügen, die jeweils identische Bilder mit unterschiedlicher Belichtung sauber miteinander verbinden. Auch das geht automatisch, Listing 2 zeigt die entsprechende Schleife.
Listing 2
Kontrollpunkte in Belichtungsreihen
01 s=$(echo $(ls *JPG | wc -l) -3 | bc); 02 for i in $(seq 0 3 $s); do j=$(echo "$i+1" | bc); k=$(echo "$i+2" | bc); 03 echo "c n$i N$j x492.08 y584.21 X492.08 Y584.21 t0 04 c n$i N$j x2181.18 y620.08 X2181.18 Y620.08 t0 05 c n$i N$j x396 y3585 X396 Y3585 t0 06 c n$i N$j x2333.13 y3437.67 X2333.13 Y3437.67 t0 07 c n$i N$j x1196.26 y1935.27 X1196.26 Y1935.27 t0 08 c n$i N$k x492.08 y584.21 X492.08 Y584.21 t0 09 c n$i N$k x2181.18 y620.08 X2181.18 Y620.08 t0 10 c n$i N$k x396 y3585 X396 Y3585 t0 11 c n$i N$k x2333.13 y3437.67 X2333.13 Y3437.67 t0 12 c n$i N$k x1196.26 y1935.27 X1196.26 Y1935.27 t0" >> J1.pto; 13 done
Kontrollpunkte entfernen
Das Kommando »celeste_standalone -i J1.pto -o J2.pto«
entfernt aus der Liste der Kontrollpunkte jene, die unsinnig erscheinen, weil sie zum Beispiel auf sich bewegenden Gegenständen im Bild liegen. Dabei entsteht eine neue Datei »J2.pto«
. Unterschiedliche Dateinamen erleichtern den Schritt zurück.
Jetzt stellt der Auto-Optimiser die Anordnung der Bilder her und optimiert diese mit »autooptimiser -a -p -l -s -o J3.pto J2.pto«
. Nun wartet die Datei »J3.pto«
aufs Laden in Hugins GUI. Dort klickt der Hobby-Stitcher auf die Liste der Kontrollpunkte und sortiert sie nach Abständen. Die am weitesten auseinanderdriftenden Kontrollpunkte sind normalerweise falsch, die sollte er gleich löschen. Hier sind Augenmaß und Erfahrung gefragt, erst mit der Zeit stellt sich beim Anwender ein sicheres Gefühl für die maximal akzeptable Entfernung unter verschiedenen Umständen ein.
Eher unkompliziert ist der nächste Schritt: zwei Mausklicks, erst auf »Optimieren«
und dann »Alles«
. Je mehr gute und sinnvoll verteilte Kontrollpunkte Hugin vorfindet, desto besser wird jetzt das Ergebnis ausfallen. Dieser Schritt ist bei der Erstellung eines Panoramas mit Abstand der arbeitsaufwändigste, weil es notwendig werden kann, manuell zusätzliche Referenzpunkte hinzuzufügen.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 8 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





