[Python] Enregistrez les données vidéo importées par OpenCV sous forme de fichier jpg de numéro de série

Pour être honnête, je pense qu'il vaut mieux chercher des outils gratuits. Dans un environnement où vous ne pouvez pas mettre d'outils gratuits dans votre travail ou votre détour Puisque je fais quelque chose de similaire à chaque fois, je l'écris sous forme de mémorandum.

Source vidéo comme premier argument. → Lors de l'accès à la webcam, spécifiez le nombre 0-9. Lors de l'accès à un fichier vidéo, spécifiez le fichier vidéo avec un chemin relatif ou absolu. La fréquence d'images est le deuxième argument. → Fréquence d'images lors de l'affichage. Traitement d'omission qui ne modifie que le temps d'attente de cv2.waitKey (). Le taux de réduction est le troisième argument. → Spécifiez lors du changement de la taille du fichier jpg à recracher. Si 2 est spécifié, l'image aura la moitié de la largeur et de la hauteur.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''
video2jpg.py.

Usage:
  video2jpg.py [<video source>] [<fps>] [<resize_rate>]
'''

import numpy as np
import cv2
import sys

print(__doc__)

try:
    fn = sys.argv[1]
    if fn.isdigit() == True:
        fn = int(fn)
except:
    fn = 0
print fn

try:
    fps = sys.argv[2]
    fps = int(fps)
except:
    fps = 30
print fps

try:
    resize_rate = sys.argv[3]
    resize_rate = int(resize_rate)
except:
    resize_rate = 1
print resize_rate

video_input = cv2.VideoCapture(fn)
if (video_input.isOpened() == False):
    exit()

count = 0
while(True):
    count += 1
    count_padded = '%05d' % count

    ret, frame = video_input.read()

    height, width = frame.shape[:2]
    small_frame = cv2.resize(frame, (int(width/resize_rate), int(height/resize_rate)))

    cv2.imshow('frame', small_frame)
    c = cv2.waitKey(int(1000/fps)) & 0xFF

    write_file_name = count_padded + ".jpg "
    cv2.imwrite(write_file_name, small_frame)

    if c==27: # ESC
        break

video_input.release()
cv2.destroyAllWindows()

Recommended Posts

[Python] Enregistrez les données vidéo importées par OpenCV sous forme de fichier jpg de numéro de série
[python] Remplacez le nom du fichier image par un numéro de série
Enregistrer la vidéo image par image avec Python OpenCV
[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
Enregistrez le fichier binaire en Python
[Python] Comment stocker un fichier csv en tant que données de tableau à une dimension
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Un mémo organisé en renommant les noms de fichiers dans le dossier avec python
[Bash] Commande pour écrire des fichiers ligne par ligne dans un fichier de numéro de série [Une ligne (?)]
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
<Python> Un quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique dans le cadre du nom de fichier
Enregistrez les conditions de paramétrage sous forme de fichier CSV à l'aide de UDF Manager avec OCTA
Python --Lisez les données d'un fichier de données numériques et recherchez la ligne de régression multiple.
[Python] Tracer les données par préfecture sur une carte (nombre de voitures possédées dans tout le pays)
ffmpeg-Construisez un environnement python et divisez la vidéo
Enregistrer l'objet dans un fichier avec pickle
Exporter la version Python3 OpenCV KeyPoint dans un fichier
Lire ligne par ligne à partir d'un fichier avec Python
Trier les données Fashion-MNIST et les enregistrer au format PNG
Le nom de fichier enregistré par pysheng était un nombre hexadécimal, donc je l'ai corrigé.
[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
Vérifiez si la chaîne est un nombre en python
La sortie du fichier avi par OpenCV ne peut pas être lue
[Python] Un programme qui compte le nombre de vallées
Lisez le fichier xml en vous référant au didacticiel Python
Remplissez l'arrière-plan d'une seule couleur avec OpenCV2 + Python
Comment enregistrer une table récupérée par python en csv
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Python> __init __. Py> Requis pour gérer le répertoire spécifié en tant que package (un fichier vide est acceptable)