[PYTHON] Tentative d'ajuster automatiquement la vitesse des vidéos time-lapse (partie 1)

motivation

J'ai loué un peu une voiture aux États-Unis en été J'ai acheté un support à ventouse et j'ai pris des photos à intervalles réguliers. (Je pense que c'était toutes les 5 secondes)

Ci-dessous se trouve la première moitié des Lime Laps sur le chemin de Chicago à Pittsburgh.

La barre de porte à grande vitesse ne monte pas près de «0: 34» et recule. Jouez lentement là où un tel événement se produit Joue bien vite là où d'autres routes sans fin continuent Je voulais que tu fasses quelque chose automatiquement.

Cependant, j'estime que la zone de service de «1: 08» est un peu trop longue. C'est environ 2 secondes, mais c'est long, donc j'aimerais faire environ 1 seconde au plus.

https://youtu.be/BOHDtW9_tlQ

ffmpeg

Générer une vidéo à partir de l'image du numéro de série avec ffmpeg / Générer une image du numéro de série à partir de la vidéo ~ Comment éviter les chutes d'images ~ --Qiita J'ai fait une vidéo en référence au site ci-dessus.

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

Supposons que les images que vous souhaitez effectuer en time-lapse vont de «DSC00416.JPG» à «DSC03415.JPG». Sortie vidéo en utilisant une image "30" par seconde avec une fréquence d'images de "60" Puisqu'une image est utilisée deux fois, je pense que cela signifie un total de «6000» images. Je pense que vous n'avez pas besoin de spécifier l'option -vrames, mais j'ai spécifié 180 lorsque je voulais faire un petit test.

$ 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

Voir ffmpeg --help full pour plus de détails.

phash

Auparavant, lorsque je cherchais des images similaires

Un bref résumé d'une recherche d'images similaires --Qiita

J'ai utilisé la bibliothèque qui utilise phash introduite ci-dessus à partir de ruby. Cette fois, je voulais utiliser ʻopencvde python pour travailler ensemble, donc j'en ai recherché un qui puisse utiliserphash` de python.

https://github.com/JohannesBuchner/imagehash

était.

Tracez la distance de la valeur de hachage entre chaque image J'ai essayé de faire correspondre la vidéo en accéléré. Le milieu est «phash». https://youtu.be/oIoNYs4yLio

Le ciel se cache dans le pont et c'est une sueur floue Screen Shot 2016-12-11 at 17.45.18.png

Je veux extraire ici et là. .. .. Screen Shot 2016-12-11 at 17.47.01.png

Je veux raccourcir ici! (J'ai l'impression que c'est bien) Screen Shot 2016-12-11 at 17.50.20.png

Vers la deuxième partie

Je voudrais décider de la taille de la fenêtre et essayer diverses choses telles que la distribution locale. Pour être honnête, je pense qu'il y a des gens qui font la même chose C'est la collecte d'informations avant de passer du temps.

référence

Recommended Posts

Tentative d'ajuster automatiquement la vitesse des vidéos time-lapse (partie 1)
Tentative d'ajuster automatiquement la vitesse des vidéos accélérées (partie 2)