So richten Sie mit FOSS-Tools einen Stapel Bilder für einen Zeitraffer aus

Ich habe mehrere Serien von Einzelbildern aufgenommen, die ich zu einer Zeitraffersequenz verarbeiten möchte. Als ich einfach StopMotion 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 sind, variiert ihr Sichtfeld leicht, was sichtbar wird, wenn man sie nacheinander betrachtet. Es sieht so aus, als ob die Zoomstufe zwischen ihnen leicht verändert wurde – manchmal erfolgt die Variation jedoch nur entlang einer Achse, wobei das Bild leicht verzerrt wird.Da es sich um ein Nachbearbeitungsartefakt handelt, funktionieren Werkzeuge, die auf Linsengeometrie angewiesen sind, hier möglicherweise nicht. Ich habe diesen Teil zu einer separaten Frage gemacht .

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

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

Antworten (1)

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

Werkzeuge benötigt:

  • Hugin
  • ImageMagick
  • Bash-Shell

Erstellen Sie ein Hugin-Projekt

Starten Sie Hugin und stellen Sie sicher, dass Sie Schnittstelle > Erweitert auswählen (Experte tut es auch). Gehen Sie zum Panorama-Stitcher- Fenster.

Stellen Sie das Sichtfeld (50° hat bei meiner Smartphone-Kamera gut funktioniert), 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 teilen, um sie richtig auszurichten.

Wählen Sie immer noch auf der Registerkarte Fotos unter Feature Matching eine Strategie zum Erstellen von Kontrollpunkten aus. Das Ausrichten des Bildstapels hat bei mir gut funktioniert, Sie müssen möglicherweise 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 knapp unter 128 Bilder auf einmal verarbeiten. Wenn Sie mehr als 120 Bilder in Ihrer Serie haben, wiederholen Sie diesen Schritt einfach in Stapeln von 120 Bildern. Stellen Sie sicher, dass Sie das letzte Bild jedes Stapels auch in den nächsten Stapel aufnehmen. Die Bearbeitung kann eine Weile dauern.

Wechseln Sie nun zur Registerkarte Kontrollpunkte . Wählen Sie Bild Nr. 0 im linken Bereich und Bild Nr. 1 im rechten Bereich aus. Sie sollten die Kontrollpunkte sehen, die zwischen den Bildern geteilt werden. Klicken Sie auf die rechte Pfeilschaltfläche, um in der Serie vorwärts zu gehen. Jedes Paar aufeinanderfolgender Bilder sollte einen Satz Kontrollpunkte teilen. (Dies funktioniert möglicherweise nicht immer, wenn sich die Kamera bewegt, z. B. beim Aufnehmen von Zeitraffersequenzen aus einem fahrenden Fahrzeug.)

Wenn Ihre Sequenz große Wolkenanteile enthält, wurden im vorherigen Schritt möglicherweise einige Kontrollpunkte am Himmel erstellt. Da diese die Ausrichtung durcheinander bringen würden, 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 einige Kontrollpunkte übersehen, aber meiner Erfahrung nach wird ihre Anzahl so weit reduziert, dass die Ausrichtung wie erwartet funktioniert.

Hinweis: Anscheinend können die neuesten Versionen von Hugin je nach gewählter Strategie bereits während der Kontrollpunkterstellung bewölkte Bereiche ausschließen.

Linsenparameter prüfen

Gehen Sie zum Vorschaufenster für das schnelle Panorama ( Ansicht > Fenster für die schnelle Vorschau ) und überprüfen Sie die Kugelvorschau. Das Bild sollte nur einen Teil der Kugel ausfüllen, mit nahezu rechteckigen Konturen und nur minimal verzerrten Kanten (ä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 verwirft die Nachbearbeitung im Gerät Objektivinformationen.) Gehen Sie zurück zu Panorama Stitcher , 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 bekannte 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 schnellen Panoramavorschau .

Ausrichtung berechnen

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

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

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

Ausrichten und Zuschneiden

Wechseln Sie in das Fast-Panorama-Vorschaufenster .

Wählen Sie auf der Registerkarte Projektion dieselbe Projektion wie Ihr Objektivtyp aus. Klicken Sie auf der Registerkarte „ Verschieben/Ziehen “ auf „Anpassen“ und wählen Sie auf der Registerkarte „ Zuschneiden “ die Option „HDR Autocrop“ aus .

Rendern Sie die Rahmen

Wechseln Sie im Panorama Stitcher- Fenster zur Registerkarte Stitcher .

Klicken Sie unter Sichtfeld auf Sichtfeld berechnen . (Dies ist möglicherweise bereits richtig eingestellt.)

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

Deaktivieren Sie alles unter Panoramaausgänge .

Wählen Sie unter Neu zugeordnete Bilder die Option Keine Belichtungskorrektur, niedriger Dynamikbereich aus .

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

Das Rendern der Frames dauert wieder eine Weile.

Aufräumen der Bilder

Nachdem Hugin seine Arbeit beendet hat, erhalten Sie am Ende eine Reihe von Bildern. Nur zwei Dinge fehlen:

  • Die Bilder sind im TIFF-Format – das ist das Format, das Hugin intern verwendet, und es gibt keine Möglichkeit, das zu ändern.
  • Nach dem Ausrichten der Bilder schnitt Hugin sie auf den Teil zu, der von jedem Bild in der Serie umgewandelt 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 Auflösung aufgenommen haben, die höher als Ihre Zielauflösung für die Filmsequenz ist, werden sie in diesem Schritt als Bonus ebenfalls skaliert.

Starten Sie bash, wechseln Sie in das Verzeichnis, das die generierten Dateien enthält, 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 etwas anderes als 1920 × 1080 ist, ändern Sie die erste Zeile entsprechend.)

Dadurch wird jedes Bild so skaliert, dass es Ihre Zielauflösung ausfüllt, und es wird zugeschnitten, wenn die Proportionen nicht ganz passen. Die zweite Zeile entfernt die von Hugin generierten Dateien.

Das ist es! Verwenden Sie nun Ihr bevorzugtes Werkzeug, um die resultierende Bildsequenz zu einem Filmclip zu verarbeiten.

1) Bash ist hier nicht erforderlich, jede POSIX-Shell wird es tun 2) Setzen Sie Ihre Variablen in Anführungszeichen, z. B. use "$i"statt $i3) Verwenden Sie die Parametererweiterung, anstatt echo'ing to sed, z. B. convert "$i" "${i%.tif}.jpg"4) Verwenden Sie mogrifystatt convertso dass Sie die Schleife nicht benötigen. Beispielmogrify -resize '1920x1080^' -gravity center -extent 1920x1080 -format jpg -- *.tif