[Python] Speichern Sie die von OpenCV importierten Videodaten als JPG-Datei mit Seriennummer

Um ehrlich zu sein, denke ich, dass es besser ist, nach kostenlosen Tools zu suchen. In einer Umgebung, in der Sie keine freien Werkzeuge für Ihre Arbeit oder Ihren Umweg verwenden können Da ich jedes Mal etwas Ähnliches mache, schreibe ich es als Memorandum.

Videoquelle als erstes Argument. → Geben Sie beim Zugriff auf die Webkamera die Nummer 0-9 an. Geben Sie beim Zugriff auf eine Videodatei die Videodatei mit einem relativen oder absoluten Pfad an. Die Bildrate ist das zweite Argument. → Bildrate bei der Anzeige. Auslassungsverarbeitung, die nur die Wartezeit von cv2.waitKey () ändert. Die Reduktionsrate ist das dritte Argument. → Geben Sie an, wann Sie die Größe der auszuspuckenden JPG-Datei ändern möchten. Wenn 2 angegeben ist, ist das Bild 1/2 der Breite und Höhe.

#!/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] Speichern Sie die von OpenCV importierten Videodaten als JPG-Datei mit Seriennummer
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
Speichern Sie Videos Frame für Frame mit Python OpenCV
[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
Speichern Sie die Binärdatei in Python
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Ein Memo, das durch Umbenennen der Dateinamen im Ordner mit Python organisiert wird
[Bash] Befehl zum zeilenweisen Schreiben von Dateien in die Seriennummer [One Liner (?)]
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
<Python> Ein Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge als Teil des Dateinamens getrennt sind
Speichern Sie die Einstellungsbedingungen als CSV-Datei mit UDF Manager mit OCTA
Python - Lesen Sie Daten aus einer numerischen Datendatei und suchen Sie die multiple Regressionslinie.
[Python] Zeichnen Sie Daten nach Präfektur auf einer Karte (Anzahl der Autos im ganzen Land)
ffmpeg-Erstellen Sie eine Python-Umgebung und teilen Sie das Video
Speichern Sie das Objekt in einer Datei mit pickle
Exportieren Sie PythonC Version OpenCV KeyPoint in eine Datei
Lesen Sie mit Python Zeile für Zeile aus der Datei
Sortieren Sie Fashion-MNIST-Daten und speichern Sie sie als PNG-Datei
Der von pysheng gespeicherte Dateiname war eine Hexadezimalzahl, daher habe ich ihn behoben.
[Python] Wenn Sie eine Datei mit demselben Namen wie das zu importierende Modul erstellen, tritt ein Attributfehler auf.
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
Die von OpenCV ausgegebene AVI-Datei kann nicht abgespielt werden
[Python] Ein Programm, das die Anzahl der Täler zählt
Lesen Sie die XML-Datei anhand des Python-Tutorials
Füllen Sie den Hintergrund mit einer einzigen Farbe mit OpenCV2 + Python
So speichern Sie eine von Python gekratzte Tabelle in CSV
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Python> __init __. Py> Erforderlich, um das angegebene Verzeichnis als Paket zu behandeln (leere Datei ist akzeptabel)