Wie ich in diesem Blog -Tutorial zum Erstellen dieses Projekts mit Erklärungen und Codeproben ausführlich erklärt habe.
| Videodateien -Verzeichnis | Extrahiertes Bilderverzeichnis |
|---|---|
![]() | ![]() |
| Über alle Videos in einem Verzeichnis iterieren | Rahmen extrahieren (nach Anpassung (gewünschtes Intervall (in Sekunden) zwischen extrahierten Frames, beginnen nach (gewünschten Sekunden) usw.) |
Der Video -Frame -Extraktor ist ein Python -Skript, mit dem Sie Frames, die alle Videodateien aus einem Verzeichnis iterieren, extrahieren und als individuelle Bilddateien in zwei verschiedenen Verzeichnissen speichern: eines für die ursprünglichen Größenrahmen und eine für die geendelten Rahmen. Das Skript verwendet OpenCV- und Imutils-Python-Pakete für die Bildverarbeitung und das Feuer Python-Paket für eine vereinfachte Befehlszeilenschnittstelle.
Mit diesem Skript können Sie Frames aus Videos zu einer bestimmten Rate extrahieren. Durch Angeben des gewünschten Intervalls (in Sekunden) zwischen extrahierten Frames können Sie schnell einen großen Datensatz von Bildern für die Objekterkennung, die Bildklassifizierung oder andere Computer -Vision -Aufgaben generieren.
Für Bildanmerkungen ist es oft notwendig, Frames aus Videos zu extrahieren. Diese Anwendung erleichtert einfach, einen großen Datensatz von Bildern für die Erkennung von Schulungsobjekten oder die Bildklassifizierungsmodelle zu generieren, auch wenn Ihre Daten ursprünglich in Form von Videos sind.
Durch die Automatisierung des Rahmenextraktionsprozesses zum Iterieren aller Videodateien in einem Verzeichnis speichert diese App Ihnen Zeit und Mühe im Vergleich zum manuellen Extrahieren von Frames aus jeder Videodatei.
Ich hoffe, Sie finden den Videorahmenextraktor für Ihre Computer -Vision -Projekte nützlich!
Um den Video -Frame -Extraktor zu verwenden, müssen Sie das Skript von frame_extractor.py Python mit den folgenden Argumenten ausführen:
vid_dir : Der Pfad zum Verzeichnis, der die Videodateien enthält, aus denen Sie Frames extrahieren möchten.out_dir : Der Pfad zum Verzeichnis, in dem Sie die extrahierten Frames speichern möchten.img_frmt (optional): Das Bildformat zum Speichern der extrahierten Frames in. Standard ist JPG .required_frame_rate (optional): Die Anzahl der Frames pro Sekunde zu extrahieren. Standard ist 1 .start_from_seconds (optional): Die Anzahl der Sekunden, von denen aus Frames mit dem Extrahieren von Frames beginnt. Standard ist 0 .Die App extrahiert Frames aus allen Videos im angegebenen Verzeichnis und speichert sie im Ausgabeverzeichnis.
Anstatt jedes Mal, wenn Sie diese App ausführen, die Argumente zu übergeben, können Sie diese Argumente in der Datei "Einstellungen" hinzufügen. Einstellungen
python frame_extractor_multithread.py aus Um den Videorahmenextraktor zu verwenden, müssen Sie Python 3 und die folgenden Python -Pakete installiert haben:
Sie können diese Pakete mit PIP installieren, indem Sie den folgenden Befehl in Ihrem Terminal ausführen:
pip install opencv-python imutils fire python frame_extractor . py - - help python frame_extractor . py - - vid_dir = [ vid_dir ] - - out_dir = [ out_dir ] - - img_frmt = [ img_frmt ] - - required_frame_rate = [ required_frame_rate ] - - start_from_seconds = [ start_from_seconds ] Der Extraktionsprozess für alle Videos im vid_dir startet und extrahierte Rahmen werden in der out_dir gespeichert
Angenommen, Sie haben eine Videodatei namens my_video.mp4 im Verzeichnis/path/to/Video, und Sie möchten Frames aus dem Verzeichnis/Pfad/zu/Ausgabe mit einer Bildrate von 2 Frames pro Rahmen speichern Zweitens und beginnend von 10 Sekunden in das Video. Sie können den folgenden Befehl ausführen:
python frame_extractor . py - - vid_dir = / path / to / video - - out_dir = / path / to / output - - required_frame_rate = 2 - - start_from_seconds = 10Das Skript extrahiert Frames aus my_video.mp4, speichern Sie die Originalgrößenrahmen in/path/to/operation/orig_size_frames Verzeichnis und das Verzeichnis der geeigneten Frames in/path/to/output/re_size_frames. Die extrahierten Frames werden im JPEG -Format mit einem Dateinamen des Formulars my_video_1.jpg, my_video_2.jpg usw. gespeichert.
Alternativ können Sie die Datei frame_extractor.py bearbeiten.
Zum Beispiel:
Bearbeiten Sie die erforderlichen Einstellungen in den settings.py
# If you don't want to pass too many arguments every time you can modify the settings here.
# And the script will accept the setting from this file every time you run
# 'python extract_frames.py'
# Video file
VIDEO_DIRPATH = ROOT / 'videos' # EDIT: 1 (Required)
# Frame settings
REQUIRED_FRAME_RATE = 2 # EDIT: 2
# Number of seconds for a frame. For example: 0.5 means, 1 frame after 0.5 seconds pass
START_FROM_SECOND = 1 # EDIT: 3
# For example: 2 means, start extraction of the frames after 2 seconds of the video is passed.
REQUIRED_IMAGE_FORMAT = 'jpg' # EDIT: 4
REQUIRED_IMAGE_WIDTH = 720 # EDIT: 5
# Output frames dirpath
OUTDIR = BASE_ROOT / 'skyscraper' # EDIT: 6 (Required) Wenn Sie meinen Python -Code hilfreich finden, sollten Sie ihm einen Stern geben.
Für Probleme mit der App oder über Feedback oder Verbesserungsvorschläge. Bitte sparen Sie ein Problem
Der Videorahmenextraktor ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.