Ein Python-Programm, das die Größe eines Videos ändert und es in ein Bild verwandelt

Ich konnte es nicht finden, als ich danach suchte, also habe ich es geschafft. Ändern Sie die Größe der Videodatei, die mit OpenCV geöffnet werden kann, während Sie sie für jedes Bild ausdünnen, und speichern Sie sie als Bilddatei.

Code

Ich habe nichts Schwieriges getan, deshalb denke ich nicht, dass es notwendig ist, etwas zu erklären.

video2jpg.py


import cv2
import os
import argparse

parser = argparse.ArgumentParser()
parser.add_argument("--video_path", type=str)
parser.add_argument("--save_dir", type=str, default="save/")
parser.add_argument("--interval", type=int, default=10)
parser.add_argument("--resize", type=int, default=None, nargs="+")
opt = parser.parse_args()

def video2jpg():
    if not os.path.exists(opt.save_dir):
        os.makedirs(opt.save_dir)
    cap = cv2.VideoCapture(opt.video_path)
    l_cap = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) 

    for i in range(l_cap):
        flag, frame = cap.read()
        if flag == True and i % opt.interval == 0: 
            save_path = os.path.join(opt.save_dir, "{}_{}.jpg ".format(os.path.basename(opt.video_path).split(".")[0], i))
            if opt.resize != None: 
                frame = cv2.resize(frame, (opt.resize[0], opt.resize[1]))  
            cv2.imwrite(save_path, frame)
            print("{} has been saved".format(save_path))

if __name__ == "__main__":
    video2jpg()

Lauf

Wenn Sie beispielsweise die Größe von douga.avi, das sich im selben Verzeichnis wie video2jpg.py befindet, alle 10 Frames auf 480 x 480 ändern und als Bilddatei speichern möchten, geben Sie Folgendes in das Terminal ein.

python3 video2jpg.py --video_path douga.avi --interval 10 --resize 480 480

Recommended Posts

Ein Python-Programm, das die Größe eines Videos ändert und es in ein Bild verwandelt
Schreiben wir ein Python-Programm und führen es aus
Ich möchte ein Programm ausführen und verteilen, das die Größe von Bildern in Python3 + Pyinstaller ändert
Python-Programm, das ical-Daten in Text konvertiert
Bildverarbeitung mit Python (ich habe versucht, es in 0 und 1 Mosaikkunst zu binarisieren)
Ich habe in Python ein Tool erstellt, das mit der rechten Maustaste auf eine Excel-Datei klickt und diese für jedes Blatt in Dateien unterteilt.
Beachten Sie, dass Python Bilder im Base64-Format dekodiert und lokal speichert
[Python] Ein Programm, das Treppen mit # erstellt
Ein Programm, das Python zum Abspielen von Junk verwendet
[Python] Ein Programm, das die Partitur rundet
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
[Python] Erstellen Sie einen Linebot, um den Namen und das Alter auf das Bild zu schreiben
Ich habe GhostScript mit Python ausgeführt, das PDF in Seiten aufgeteilt und es in ein JPEG-Bild konvertiert.
Ein Programm, das automatisch feststellt, ob es sich um eine Animation oder ein Foto handelt, wenn Sie das Bild einer Person eingeben [Python]
Machen Sie aus einem Python-Programm einen Daemon und führen Sie es automatisch aus, wenn das Betriebssystem gestartet wird
Ein Python-Programm, das prüft, ob Inhalte aktualisiert wurden, und git festschreibt und an GitLab sendet, wenn diese aktualisiert wurden.
Generieren Sie eine SSID und ein Passwort, konvertieren Sie es in einen QR-Code und werfen Sie es in Slack.
Ein netter Nimporter, der Nim und Python verbindet
[Python, PyPDF2] Ein Skript, das ein verbreitetes PDF in zwei links und rechts unterteilt
ffmpeg-Erstellen Sie eine Python-Umgebung und teilen Sie das Video
Teilen Sie jede PowerPoint-Folie in eine JPG-Datei und geben Sie sie mit Python aus
Ein Programm, das doppelte Anweisungen in Python entfernt
Programm zur Suche nach demselben Bild
Beschneiden Sie Numpy.ndarray und speichern Sie es als Bild
[Python] Ein Programm, das die minimalen und maximalen Werte ohne Verwendung von Methoden findet
[Python] Ein Programm, das die Anzahl der Aktualisierungen der höchsten und niedrigsten Datensätze berechnet
Python-Skript, das das Azure-Status-RSS crawlt und an Hipchat sendet
Ein Programm, das ein paar Kilogramm BMI und Standardgewicht verlangt [Python]
Ich habe ein Programm erstellt, um Bilder mit Python und OpenCV in ASCII-Grafik umzuwandeln
Ich habe ein Docker-Image erstellt, das RSS liest und automatisch regelmäßig twittert, und es veröffentlicht.
Ein Skript, das Ihre bevorzugten Python-Module und Binärdateien in einer einzigen Lambda-Ebene kombiniert
Ein Memo, das das Gesicht des mit Djangos OpenCV von der Webkamera aufgenommenen Bilds erkennt und zurückgibt.
[Python] Ein Notizbuch, das die ipynb-Datei von GitHub ins Japanische übersetzt und herunterlädt.
[Python] Ein Programm, das die Anzahl der Täler zählt
Python, das viele Excel zu einem Excel zusammenführt
[Python] Maskiere das Bild mit Pillow zu einem Kreis
Python: Ich habe es mit Lügner und Ehrlichkeit versucht
[Python] Ein Programm, das die Positionen von Kängurus vergleicht.
Eine Geschichte, die bei mglearn.plots.plot_nmf_faces nicht mehr funktioniert und sich gefragt hat, ob es sich um einen Fehler handelt?
Ich habe "Streamlit" ausprobiert, das den Python-Code so wie er ist in eine Webanwendung verwandelt
Eine Geschichte, die es einfach macht, den Wohnbereich mit Elasticsearch und Python abzuschätzen
Schritte zum Erstellen eines Jobs, der ein Docker-Image abruft und mit Github-Aktionen testet
Eine einfache Möglichkeit, die in Python benötigte Zeit anzuzeigen und sie intelligenter zu verbessern
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Python-Programm, das täglich Tweets mit bestimmten Schlüsselwörtern sammelt und in CSV speichert
Python-Programm von "Buch, das schwieriges Programmieren leicht lehrt"
Ein Allzweckprogramm, das Linux-Befehlszeichenfolgen mit Python formatiert
Geben Sie einem Python-Dekorateur einen Alias, der ein festes Argument übergibt
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
Verknüpfen Sie Python Enum mit einer Funktion, um es aufrufbar zu machen
Holen Sie sich Python-Webseite, Zeichenkodierung und Anzeige
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
[Python] Ein Programm, das durch Kombinieren von Ganzzahlen ein zweidimensionales Array erstellt
Erstellen Sie den Code, der in Python "A und vorgeben B" ausgibt
Ein Programm, das nur die Esc-Taste drückt und loslässt
[Python] Ein Programm, das die häufigsten Vogeltypen findet
So schreiben Sie eine Meta-Klasse, die sowohl Python2 als auch Python3 unterstützt
Python-Anfänger versuchte, bei einem IT-Unternehmen zu praktizieren
Python-Programm, das die Zeitnutzung aus icalendar-Daten aggregiert