[PYTHON] Versuchen Sie, die Geschwindigkeit von Zeitraffervideos automatisch anzupassen (Teil 1).

Motivation

Ich habe im Sommer ein Auto in den USA gemietet Ich kaufte eine Saugnapfhalterung und machte in regelmäßigen Abständen Fotos. (Ich denke es war alle 5 Sekunden)

Unten sehen Sie die erste Hälfte der Lime Laps auf dem Weg von Chicago nach Pittsburgh.

Die Hochgeschwindigkeits-Torleiste geht nicht in die Nähe von "0: 34" und wird gesichert. Spielen Sie langsam, wo ein solches Ereignis auftritt Spielt sich sehr schnell, wo andere endlose Straßen weitergehen Ich wollte, dass du etwas automatisch machst.

Ich bin jedoch der Meinung, dass der Servicebereich von "1: 08" etwas zu lang ist. Es sind ungefähr 2 Sekunden, aber es ist lang, also möchte ich es am längsten ungefähr 1 Sekunde machen.

https://youtu.be/BOHDtW9_tlQ

ffmpeg

Video aus Seriennummernbild mit ffmpeg generieren / Seriennummernbild aus Video generieren ~ So verhindern Sie das Löschen von Frames ~ --Qiita Ich habe ein Video mit Bezug auf die obige Seite gemacht.

ffmpeg -framerate 30 -start_number 416 -i ./data/images/001/DSC%05d.JPG -vframes 6000 -vcodec libx264 -pix_fmt yuv420p -r 60 out.mp4

Angenommen, die Bilder, die Sie im Zeitraffer anzeigen möchten, reichen von "DSC00416.JPG" bis "DSC03415.JPG". Video mit 30 Bildern pro Sekunde und einer Bildrate von 60 ausgeben Da ein Bild zweimal verwendet wird, bedeutet dies meiner Meinung nach insgesamt 6000 Frames. Ich denke, Sie müssen die Option "-vrames" nicht angeben, aber ich habe "180" angegeben, als ich einen kleinen Test durchführen wollte.

$ ffmpeg --help | grep -E "(-framerate)|(-start_number)|(-vframes)|(-vcodec)|(-pix_fmt)|(-r )"
-pix_fmts           show available pixel formats
-vframes number     set the number of video frames to output
-r rate             set frame rate (Hz value, fraction or abbreviation)
-vcodec codec       force video codec ('copy' to copy stream)

$ ffmpeg -pix_fmts | grep -E "(FLAGS NAME)|(yuv420p )"
FLAGS NAME            NB_COMPONENTS BITS_PER_PIXEL
IO... yuv420p                3            12

Siehe ffmpeg --help full für Details.

phash

Zuvor, als ich nach ähnlichen Bildern suchte

Eine kurze Zusammenfassung einer ähnlichen Bildsuche - Qiita

Ich habe die Bibliothek verwendet, die "Phash" verwendet, das oben von Ruby eingeführt wurde. Dieses Mal wollte ich "opencv" von Python verwenden, um zusammenzuarbeiten, also suchte ich nach einer, die "Phash" von Python verwenden kann.

https://github.com/JohannesBuchner/imagehash

war.

Zeichnen Sie den Abstand des Hashwerts zwischen den einzelnen Frames Ich habe versucht, das Zeitraffervideo abzugleichen. Die Mitte ist "Phash". https://youtu.be/oIoNYs4yLio

Der Himmel versteckt sich in der Brücke und es ist verschwommener Schweiß Screen Shot 2016-12-11 at 17.45.18.png

Ich möchte hier und da extrahieren. .. .. Screen Shot 2016-12-11 at 17.47.01.png

Ich möchte hier kürzen! (Ich finde das gut) Screen Shot 2016-12-11 at 17.50.20.png

Zum zweiten Teil

Ich möchte die Fenstergröße bestimmen und verschiedene Dinge wie die lokale Verteilung ausprobieren. Um ehrlich zu sein, denke ich, dass es Leute gibt, die das Gleiche tun Es ist das Sammeln von Informationen, bevor Sie Zeit verbringen.

Referenz

Recommended Posts

Versuchen Sie, die Geschwindigkeit von Zeitraffervideos automatisch anzupassen (Teil 1).
Versuchen Sie, die Geschwindigkeit von Zeitraffervideos automatisch anzupassen (Teil 2).