Konvertieren Sie Videos mit ffmpeg + python + opencv in Schwarzweiß

Vor kurzem habe ich mit Bildern herumgespielt, die aus Videos mit der Kombination "ffmpeg + python + opencv" aufgenommen wurden. Dieses Mal werde ich versuchen, diese zu verwenden, um "ein Farbvideo in Schwarzweiß umzuwandeln".

Ausführungsumgebung

OS: Windows7(Cygwin) ffmpeg: N-74313-g9c0407e Python: 2.7.10 OpenCV: 2.4.11

0. Arbeitsvorbereitung

Erstellen Sie einen Arbeitsordner und legen Sie die Originalvideodatei ab.

$ mkdir bwmovie/row bwmovie/bw
$ mv movie bwmovie/
$ cd bwmovie

1. Schneiden Sie ein Standbild aus einem Video aus

Wechseln Sie in den Arbeitsordner und extrahieren Sie mit ffmpeg Standbilder aus der Videodatei in Frame-Einheiten.

$ ffmpeg -i movie -f image2 row/%06d.jpg

Das letzte Argument ist der Dateiname. In diesem Fall wird der Dateiname im Zeilenordner angegeben, sodass er "in der Reihenfolge geordnet ist, in der er durch die 0-gepackte 6-stellige Ganzzahl extrahiert wurde".

2. Konvertieren Sie Standbilder in Schwarzweiß

Diese Konvertierung erfolgt in Python + OpenCV. Erstellen Sie den folgenden Python-Code direkt unter dem Arbeitsordner.

import cv2
import glob

paths = glob.glob('row/*')

for index,path in enumerate(paths):
        image = cv2.imread(path, 0)
        ret, th = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU )

        cv2.imwrite('bw/%06d.jpg' % index, th)

Dieser Code ruft zuerst path = glob.glob ('row / *') ab und ruft die Dateien unter dem Zeilenordner als Array ab. Drehen Sie diese Dateipfade dann in eine for-Schleife und speichern Sie sie mit image = cv2.imread (path, 0) im Bild. Zu diesem Zeitpunkt wird für das zweite Argument von imread 0 angegeben, damit es zu einer Graustufe wird. Danach wird das Bild mit ret, th = cv2.threshold (Bild, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) undcv2.imwrite ('bw /% 06d.jpg) binärisiert (schwarz und weiß). Speichern Sie sie im Ordner image bw als Seriennummern mit '% index, th).

3. Verbinden Sie Standbilder, um ein Video zu erstellen

Fügen Sie zum Schluss die konvertierten Schwarzweißbilder hinzu, um ein Video zu erstellen.

 ffmpeg -i bw/%06d.jpg video.mp4

Geben Sie das Originalbild nach der Option i an und geben Sie den Namen der Ausgabedatei im letzten Argument an.

Zusammenfassung

Mit dem oben genannten können Sie "das Video in Schwarzweiß konvertieren". Die Videoausgabe mit dieser Methode hat jedoch keinen Ton und die Bitrate ist nicht angegeben, sodass die Anzahl der Bilder im Vergleich zum Originalvideo zunimmt und etwas langweilig wird. Wenn Sie ein Kininal sind, gehen Sie bitte zu "Verwendung von ffmpeg".

Recommended Posts

Konvertieren Sie Videos mit ffmpeg + python + opencv in Schwarzweiß
Leuchtendes Leben mit Python und OpenCV
Neuronales Netzwerk mit OpenCV 3 und Python 3
Fügen Sie Videos mit OpenCV + Python einen gefälschten Tilt-Shift-Effekt hinzu
Ich habe ein Programm erstellt, um Bilder mit Python und OpenCV in ASCII-Grafik umzuwandeln
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Konvertieren Sie Memos sofort mit Python 2to3
Speichern Sie Videos Frame für Frame mit Python OpenCV
Bilder mit Pupil, Python und OpenCV aufnehmen
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Fraktal zum Erstellen und Spielen mit Python
Konvertieren Sie chinesische Zahlen mit Python in arabische Zahlen
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Setzen Sie OpenCV in OS X mit Homebrew ein und geben Sie Video mit Python ein / aus
Ich habe ein Netzwerk erstellt, um Schwarzweißbilder in Farbbilder umzuwandeln (pix2pix)
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
Versuchen Sie, den Hintergrund und das sich bewegende Objekt des Videos mit OpenCV zu trennen
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
DICOM zu PNG Konvertierung mit aufsteigend und absteigend
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
Konvertieren Sie PDFs mit Python in Massenbilder
Konvertieren Sie mp4 in mp3 mit ffmpeg (eingebettete Thumbnail-Version)
Konvertieren Sie die SVG-Datei mit Python in png / ico
So beschneiden Sie ein Bild mit Python + OpenCV
Installieren Sie OpenCV 4.0 und Python 3.7 unter Windows 10 mit Anaconda
Konvertieren Sie Windows-Epochenwerte mit Python in das Datum
Der einfachste Weg, OpenCV mit Python zu verwenden
Feature Matching mit OpenCV 3 und Python 3 (A-KAZE, KNN)
[Python] Umgang mit japanischen Zeichen mit openCV
Versuchen Sie, Fische mit Python + OpenCV2.4 (unvollendet) zu erkennen.
Konvertieren Sie die Zeichenfolge mit Python in ein zeichenweises Listenformat
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Binarisierung mit OpenCV / Python
Einführung in OpenCV (Python) - (2)
Konvertieren Sie Datum und Uhrzeit in Zeitzonen in Unixtime in Python2.7
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Prozedur zum Laden von MNIST mit Python und zur Ausgabe an png
[Python] Konvertieren Sie Dezimalzahlen in Binär-, Oktal- und Hexadezimalzahlen
[Python] Konvertieren Sie Allzweckcontainer und Klasse ineinander
Ich möchte die Optimierung mit Python und CPlex behandeln
Probieren Sie die DB-Operation mit Python aus und visualisieren Sie sie mit d3
Konvertieren Sie das Bild in .zip mit Python in PDF
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Anzeigen und Aufnehmen von Webkamerabildern mit Python Kivy [GUI]
[Python] Webkamera-Rahmengröße und FPS-Einstellungen mit OpenCV
Laden / Anzeigen und Beschleunigen von GIF mit Python [OpenCV]
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
[Python] Konvertiert die Zeitanzeige (str-Typ) mit "" "und" '"in Sekunden (float-Typ) mit datetime und timedelta
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Programmieren mit Python und Tkinter
Stellen Sie mit Python eine Verbindung zu BigQuery her
Ver- und Entschlüsselung mit Python