Mehr Spielereien mit Timelapse / Zeitraffer: Bewegung mit ImageMagick simulieren

Ein Kommentar Autor: Jürgen (jdo)

Bei der Zeitraffer-Aufnahme mit dem dahin rottendem Obst habe ich zur Nachbearbeitung ausschließlich Open-Source-Software verwendet: Hugin, ImageMagick, mencoder, Perl und OpenShot.

Zeitraffer-Aufnahmen wirken eigentlich noch interessanter (zumindest manchmal), wenn etwas mehr Bewegung im Spiel ist. Mein persönlicher Favorit ist hier David Hunt, der sich aus einem Raspberry Pi und ein paar Schienen ein eigenes Konstrukt gebastelt hat. Manche verwenden eine Eieruhr und so weiter. Diese Möglichkeiten habe ich aber gerade nicht zur Hand. Ich kann aber auch ohne Eieruhr oder extravagante Konstruktionen Bewegung ins Spiel bringen.

Zugegeben eigenen sich andere Motive besser als verrottendes Obst, aber ich habe gerade keine anderen 1500 Zeitraffer-Bilder zur Hand. Für eine Demonstration taugt es.

Das Prinzip

Moderne Kameras nehmen weit mehr Pixel (Länge / Breite) auf, als wir das für Video-Aufnahmen benötigen. Von 4K mal abgesehen, ist Full HD 1920×1080 Pixel und HD 1280×720 Pixel. Meine Kamera (Canon EOS 7D) liefert mir zum Beispiel in der maximalen Auflösung 5184×3456 Pixel. Meine Aufnahmen waren aber nur 2592×1728 Pixel. Je größer das Bild ist, desto kleiner wird der wahrgenommene Bild-Ausschnitt, den ich zeigen kann. Besser ist das bildlich erklärt:

Nehmen wir an ich habe Bilder in der Auflösung 5184×3456 Pixel und ich möchte ein HD-Video (1280×720 Pixel) erzeugen. Dann würde mein roter Bildausschnitt im Maßstab so aussehen.

Bewegung: Start

Bewegung: Start

Fange ich nun an, das rote Viereck zu bewegen, habe ich sehr viel Spielraum.

Bewegung: Irgendwo hin ...

Bewegung: Irgendwo hin …

Wende ich das selbe Prinzip auf einem kleineren Bild an und will ein HD-Video erstellen, habe ich einfach weniger Spielraum:

Bewegung auf kleinerem Bild: Start

Bewegung auf kleinerem Bild: Start

Bewegung auf kleinerem Bild: Irgendwo hin ...

Bewegung auf kleinerem Bild: Irgendwo hin …

Das ist in meinem Fall mit den Obst-Bildern egal, aber für die Zukunft werde ich es mir merken. Bei den Aufnahmen solltest Du also im Hinterkopf behalten, falls Du Bewegung ins Spiel bringen möchtest, den Bildausschnitt dementsprechend zu wählen. Für eine Landschaftsaufnahme wäre ein Ultra-Weitwinkel also eher günstig.

Beispiel

Zunächst einmal eine Demonstration, was damit gemeint ist:

Hier das Video für Menschen, die kein YouTube mögen: Download.

Wie geht das? Mit ImageMagick!

Die oben beschriebenen Bildausschnitte kann ich mithilfe von ImageMagick scripten. Bei meiner ersten Anleitung würde dieser Prozess nach dem dritten Schritt erfolgen. Ich schrumpfe die Bilder nicht, sondern bewege das Canvas. Die Möglichkeiten sind hier wirklich unbegrenzt, aber ein Beispiel-Script, das ich für das oben gezeigte Video verwendet habe.

Mit jedem Bild lassen ich das Canvas um ein Pixel nach oben und nach rechts verschieben. Da ich mehr Bilder als Platz habe, muss ich irgendwann aufhören, nach rechts zu verschieben. Je nach Breite und Höhe der Bilder muss man ein bisschen rechnen (oder ausprobieren). Meine Bilder mussten nach align_image_stack an den Rändern beschnitten werden. Somit hatte ich noch 1280 (HD) plus 1212 (MAX_COUNTER) an Bild übrig -> 2492 Pixel (Originalbild). Mehr als 1212 Pixel kann ich also nicht nach rechts schieben, sonst laufe ich aus dem Bild.

Bei der Höhe verhält es sich ähnlich. 720 (HD) plus 908 (von Oben) -> 1628 Pixel (Originalbild). Das Problem bei der Höhe war allerdings, dass ich hier eine Grenze setzen musste. Sonst wäre das Bild so weit nach oben gewandert, dass die interessante Stellen nicht mehr im Bildausschnitt gewesen wären. Sobald der COUNTER2 also 524 Pixel erreichte, ging es nur noch nach rechts. Wie gesagt muss man da etwas rechnen und ich habe GIMP zu Hilfe genommen, um auf die die entsprechenden Pixelzahlen zu kommen.

Hier mein Script und Achtung!: Ich verwende mogrify, das im Gegensatz zu convert das Bild überschreibt. Wie in meinem anderen Beitrag erwähnt, arbeite ich niemals mit den Original-Dateien und mache nach den Schritten immer Backups.

#!/bin/bash
COUNTER=0
MAX_COUNTER=1212
COUNTER2=908
for i in *.jpg
do
if test -f "$i"
then
/usr/bin/mogrify -crop 1280x720+$COUNTER+$COUNTER2 $i
fi
if [ $COUNTER -lt 1212 ]
then
COUNTER=$((COUNTER + 1))
fi
if [ $COUNTER2 -gt 524 ]
then
COUNTER2=$((COUNTER2 -1))
fi
done

Das hört sich alles wesentlich komplizierter an, als es ist. Man muss sich nur hinsetzen, darüber nachdenken oder einfach experimentieren. Mit entsprechenden Prüfungen könnte man natürlich irgendwann wieder nach links fahren lassen, nach unten und so weiter. Nur Deine Fantasie setzt den Möglichkeiten hier Grenzen. Die Methode ist zwar nicht ganz so ideal als würde ich die ganze Kamera bewegen und hätte damit den kompletten Bildausschnitt, aber wesentlich bequemer … 😉

Auch für dieses Szenario ist nur Open-Source-Software notwendig und in meinem Fall Bash und Linux.




 Alle Kommentare als Feed abonnieren

Ein Kommentar zu “Mehr Spielereien mit Timelapse / Zeitraffer: Bewegung mit ImageMagick simulieren”

  1. dm says:

    "Zugegeben eigenen sich andere Motive besser als verrottendes Obst"

    Och, warum. Das Ergebnis fand ich spannend. Allein der Beobachtungszeitraum hätte noch ausgedehnt werden können. Da kämen dann geweiss noch Bilder von wachsendem Schimmel. Auch von den Farben her kommt das ganze ganz gut rüber.