So richten Sie einen Bildstapel für einen Zeitraffer mit den FOSS-Werkzeugen aus

7

Ich habe mehrere Serien von Frames aufgenommen, die ich zu einer Zeitraffersequenz verarbeiten möchte. Als ich StopMotion einfach ausführte, um sie zu einer Filmsequenz zu verarbeiten, stellte ich fest, dass das Bild aus zwei Hauptgründen ruckelte:

  • Einige Serien wurden bei windigen Bedingungen aufgenommen, wodurch das Kamerastativ etwas wackelte.
  • Andere wurden mit einer Smartphone-Kamera im HDR-Modus aufgenommen. Da diese Bilder bereits verarbeitet wurden, variiert ihr Sichtfeld geringfügig, was sichtbar ist, wenn sie nacheinander angezeigt werden. Es sieht so aus, als ob die Zoomstufe zwischen ihnen geringfügig geändert wurde. Manchmal erfolgt die Abweichung jedoch nur entlang einer Achse, wobei das Bild leicht verzerrt ist.Da es sich um ein Nachbearbeitungsartefakt handelt, funktionieren Werkzeuge, die auf der Linsengeometrie basieren, hier möglicherweise nicht. Ich habe diesen Teil zu einer separaten Frage gemacht .

Wie kann ich diese Bilder so ausrichten, dass die entsprechende Bildsequenz nicht ruckelt? Einschränkungen sind:

  • Nur FOSS-Tools, die unter Linux verfügbar sind
  • Jede Sequenz besteht aus ungefähr 250 Bildern (entspricht 10 Sekunden bei 25 fps), daher ist ein hohes Maß an Automatisierung erforderlich. Einige der hier vorgestellten Ansätze eignen sich gut für eine HDR-Sequenz mit 3 Belichtungen, eignen sich jedoch nicht für längere Sequenzen.
user149408
quelle

Antworten:

10

Hugin hat ein Tutorial auf seiner Website, das einen guten Ausgangspunkt darstellte.

Werkzeuge benötigt:

  • Hugin
  • ImageMagick
  • Bash Shell

Erstellen Sie ein Hugin-Projekt

Starten Sie Hugin und wählen Sie " Schnittstelle"> "Erweitert" (auch "Experte"). Gehen Sie zum Panorama Stitcher- Fenster.

Stellen Sie das Sichtfeld (50 ° funktionierte gut für meine Smartphone-Kamera), die Objektivparameter und den Projektionstyp ein. Geradlinig sollte in den meisten Fällen funktionieren.

Laden Sie die Bilder für Ihre Sequenz.

Erstellen Sie Kontrollpunkte

Kontrollpunkte sind Merkmale im Bild, die Hugin zur Ausrichtung verwendet. Jedes Paar aufeinanderfolgender Frames muss Kontrollpunkte gemeinsam nutzen, um sie richtig auszurichten.

Wählen Sie auf der Registerkarte " Fotos" unter " Feature-Matching" eine Strategie zum Erstellen von Kontrollpunkten aus. Das Ausrichten des Bildstapels hat bei mir gut funktioniert. Möglicherweise müssen Sie ein wenig experimentieren.

Bevor Sie dies zum ersten Mal tun, müssen Sie sicherstellen, dass Kontrollpunkte zwischen Paaren chronologisch aufeinanderfolgender Bilder erstellt werden (standardmäßig werden Bilder nach Belichtung sortiert). Gehen Sie zu Datei> Einstellungen und navigieren Sie zur Registerkarte Kontrollpunktdetektoren . Wählen Sie Bildstapel ausrichten und klicken Sie auf Bearbeiten… . Fügen Sie unter Argumente hinzu --use-given-order. Schließen Sie dann beide Dialoge mit OK .

Wählen Sie die ersten Fotos aus und klicken Sie auf Kontrollpunkte erstellen . Leider kann Hugin nicht mehr als etwas weniger als 128 Bilder auf einmal verarbeiten. Wenn Ihre Serie mehr als 120 Bilder enthält, wiederholen Sie diesen Schritt einfach in Stapeln von 120 Bildern. Stellen Sie sicher, dass das letzte Bild jeder Charge auch in der nächsten Charge enthalten ist. Die Verarbeitung kann eine Weile dauern.

Wechseln Sie nun zur Registerkarte Kontrollpunkte . Wählen Sie im linken Bereich Bild 0 und im rechten Bild 1 aus. Sie sollten die Kontrollpunkte sehen, die zwischen den Bildern geteilt werden. Klicken Sie auf die Schaltfläche mit dem Rechtspfeil, um in der Serie vorwärts zu gelangen. Jedes Paar aufeinanderfolgender Bilder sollte eine Reihe von Kontrollpunkten gemeinsam nutzen. (Dies funktioniert möglicherweise nicht immer, wenn sich die Kamera bewegt, z. B. wenn Zeitraffersequenzen von einem fahrenden Fahrzeug aufgenommen werden.)

Wenn Ihre Sequenz große Teile von Wolken enthält, hat der vorherige Schritt möglicherweise einige Kontrollpunkte am Himmel erstellt. Da dies die Ausrichtung beeinträchtigen würde, müssen wir sie entfernen: Gehen Sie zurück zur Registerkarte Fotos , wählen Sie alle Bilder aus, klicken Sie mit der rechten Maustaste auf die Liste und wählen Sie Kontrollpunkte> Kontrollpunkte auf Wolken entfernen . Dies wird eine Weile dauern. Es kann sein, dass einige Kontrollpunkte fehlen, aber meiner Erfahrung nach reduziert es ihre Anzahl so weit, dass die Ausrichtung wie erwartet funktioniert.

Hinweis: Anscheinend können die neuesten Versionen von Hugin bewölkte Bereiche bereits während der Erstellung von Kontrollpunkten ausschließen, je nachdem, welche Strategie gewählt wurde.

Überprüfen Sie die Objektivparameter

Gehen Sie zum Fenster " Schnelle Panorama-Vorschau" ( Ansicht> Schnelle Vorschau ) und überprüfen Sie die Kugelvorschau. Das Bild sollte nur einen Teil der Kugel mit nahezu rechteckigen Konturen und nur minimal verzerrten Kanten ausfüllen (ähnlich wie bei den altmodischen CRT-Fernsehern).

Wenn die Bildkonturen nahezu kreisförmig sind, müssen Sie möglicherweise Ihre Objektivparameter neu einstellen. (Ich habe festgestellt, dass dies bei HDR-Bildern passiert ist - anscheinend werden bei der Nachbearbeitung im Gerät Objektivinformationen verworfen.) Kehren Sie zu Panorama Stitcher zurück , wählen Sie auf der Registerkarte Fotos alle Bilder aus und klicken Sie mit der rechten Maustaste auf die Liste. Dann entweder:

  • Ändern Sie sie in bekanntermaßen gute Objektivparameter ( Objektiv ). Das Objektiv Ihrer Kamera sollte sich in der Datenbank befinden, wenn Sie zuvor ein Nicht-HDR-Bild von demselben Gerät verarbeitet haben
  • Oder stellen Sie das Sichtfeld manuell ein ( Bildvariablen bearbeiten ).

Überprüfen Sie dann erneut in der Schnellpanorama-Vorschau .

Ausrichtung berechnen

Wählen Sie im Panorama Stitcher- Fenster auf der Registerkarte Fotos unter Optimieren> Geometrisch eine der folgenden Optionen aus :

  • Positionen (y, p, r) , um nur die Kamerabewegung zu korrigieren
  • Positionen und Ansicht (y, p, r, v), um auch HDR-Verarbeitungsartefakte zu beseitigenDies funktioniert bei den oben beschriebenen Artefakten noch nicht, bei denen Bilder entlang einer Achse leicht verzerrt sind. Ich versuche immer noch herauszufinden, wie ich damit umgehen soll ...

Klicken Sie auf Berechnen . Dies wird wieder einige Zeit dauern.

Ausrichten und Zuschneiden

Wechseln Sie in das Vorschaufenster für das schnelle Panorama .

Auf der Projektion Registerkarte wählen Sie die gleiche Projektion als Objektivtyp. Auf dem Verschieben / Ziehen Registerkarte, klicken Sie Fit und auf der Crop Registerkarte wählen HDR Autocrop .

Rendern Sie die Frames

Gehen Sie zurück im Panorama Stitcher- Fenster zur Registerkarte Stitcher .

Unter Field of View , klicken Sie berechnen Blickfeld . (Dies ist möglicherweise bereits richtig eingestellt.)

Klicken Sie unter Leinwandgröße auf Optimale Größe berechnen .Klicken Sie dann unter Crop , klicken Fit Crop Bilder . (Verwenden Sie hier nicht die Zuschneideoption, da Sie möglicherweise leere Bereiche in der Nähe der Ränder einiger Bilder haben.)

Deaktivieren Sie alles unter Panorama-Ausgänge .

Unter Neu zugeordneter Bildern , wählen Sie Keine Belichtungskorrektur, niedrigen Dynamikbereich .

Klicken Sie auf Stich . Sie werden aufgefordert, ein Präfix auszuwählen. Dies ist ein Pfad und eine Zeichenfolge, die jeder generierten Datei vorangestellt werden. Ich empfehle, die generierten Dateien in einem separaten Verzeichnis abzulegen.

Das Rendern der Frames dauert wieder eine Weile.

Bereinigen der Bilder

Nachdem Hugin seine Arbeit beendet hat, erhalten Sie eine Reihe von Bildern. Es fehlen nur zwei Dinge:

  • Die Bilder sind im TIFF-Format - dies ist das Format, das Hugin intern verwendet, und es gibt keine Möglichkeit, dies zu ändern.
  • Nachdem Hugin die Bilder ausgerichtet hatte, beschnitt er sie auf den Teil, der von jedem Frame in der Serie konvergiert wird. Daher sind die resultierenden Bilder etwas kleiner als die Originalbilder.

Glücklicherweise können diese beiden Dinge in einem einzigen Schritt behoben werden. Wenn Sie die Belichtungen mit einer höheren Auflösung als Ihrer Zielauflösung für die Filmsequenz aufgenommen haben, werden sie in diesem Schritt ebenfalls in der Größe geändert.

Starten Sie bash, wechseln Sie in das Verzeichnis, in dem sich die generierten Dateien befinden, und führen Sie dann Folgendes aus:

for i in *.tif ; do convert $i -resize 1920x1080^ -gravity center -extent 1920x1080 `echo $i | sed s/.tif/.jpg/` ; done
rm *.tif

(Wenn Ihre Zielauflösung nicht 1920 × 1080 ist, ändern Sie die erste Zeile entsprechend.)

Dadurch wird jedes Bild skaliert, um Ihre Zielauflösung zu füllen, und auf die Größe zugeschnitten, wenn die Proportionen nicht ganz passen. In der zweiten Zeile werden die von Hugin generierten Dateien entfernt.

Das ist es! Verwenden Sie jetzt Ihr Lieblingswerkzeug, um die resultierende Bildsequenz zu einem Movieclip zu verarbeiten.

user149408
quelle
2
1) Bash ist hier nicht erforderlich, jede POSIX-Shell kann dies tun. 2) Zitieren Sie Ihre Variablen, z. B. verwenden Sie "$i"anstelle von $i3) Verwenden Sie die Parametererweiterung anstelle von Echo sed, z. B. convert "$i" "${i%.tif}.jpg"4) Verwenden Sie mogrifystattdessen, convertdamit Sie die Schleife nicht benötigen. Beispielmogrify -resize '1920x1080^' -gravity center -extent 1920x1080 -format jpg -- *.tif
Marco