Inhaltsverzeichnis
Video lesen
Video von der Kamera lesen
Video aus einer Datei abspielen
Video speichern
Zusammenfassung
Heim Backend-Entwicklung Python-Tutorial Python-Programmierung: Videos mit der Kamera aufnehmen, wiedergeben und speichern

Python-Programmierung: Videos mit der Kamera aufnehmen, wiedergeben und speichern

Apr 24, 2023 pm 12:43 PM
python 摄像头 播放视频

如何用 Python 捕获、播放和保存摄像头视频

Vor ein paar Tagen stellte ein Leser in der Fangruppe eine Frage:

Wie kann man die Klarheit und den Kontrast von Videos in Python verbessern?

Ich habe den Aspekt der Verwendung von Python zum Betreiben von Videos noch nicht behandelt, daher muss ich meinen Lesern leider mitteilen, dass ich ihn noch nicht behandelt habe.

Nachdem ich die letzten zwei Tage darüber nachgedacht habe, habe ich das Gefühl, dass ich diesem Abschnitt einige Inhalte hinzufügen sollte, um einerseits die Breite meines Engagements zu erhöhen und andererseits auch Fragen zu beantworten Fans.

Heute werde ich zunächst die grundlegendsten Vorgänge beim Bedienen von Videos in Python erläutern, einschließlich des Lesens und Abspielens von Videos sowie des Speicherns von Videos.

Video lesen

Um Videos aufzunehmen, müssen Sie ein VideoCapture-Objekt erstellen. Sein Argument kann ein Geräteindex oder der Name einer Videodatei sein. Daher haben wir zwei Möglichkeiten, Videos zu lesen, nämlich das Lesen von Videos von der Kamera und das Lesen von Videos aus der Datei.

Video von der Kamera lesen

Bei Geräten mit Kameras, wie z. B. Laptops mit Kameras, können wir die Kamera des Computers direkt aktivieren und den Videostream der Kamera lesen.

import cv2 as cv
cap = cv.VideoCapture(0)
if not cap.isOpened():
print("Cannot open camera")
exit()
while True:
# 逐帧捕获
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
break
# 显示结果帧
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
# 完成所有操作后,释放捕获器
cap.release()
cv.destroyAllWindows()
Nach dem Login kopieren

Hier habe ich den Parameter 0 an das VideoCapture-Objekt übergeben, der den Geräteindex darstellt. Der Geräteindex ist die Nummer, die angibt, welche Kamera. Normalerweise wäre eine Kamera angeschlossen (wie in meinem Fall). Also übergebe ich einfach 0. Sie können eine zweite Kamera auswählen, indem Sie 1 usw. übergeben.

cap.isOpened() wird verwendet, um zu bestimmen, ob das Video aufgenommen wird.

cap.read() gibt einen booleschen Wert (True/False) zurück. Es ist wahr, wenn der Frame korrekt gelesen wurde. Sie können also das Ende des Videos überprüfen, indem Sie diesen Rückgabewert überprüfen. Die Methode

cv.imshow wird zum Anzeigen von Videobildern verwendet. Das Prinzip der Videowiedergabe besteht darin, sie Bild für Bild abzuspielen.

Vergessen Sie am Ende nicht, den Gefangenen über cap.release() freizugeben.

Führen Sie diesen Code aus und Sie sehen ein Popup-Fenster, das das Bild von Ihrer Computerkamera in Echtzeit abspielt.

Video aus einer Datei abspielen

Dasselbe wie bei der Aufnahme von der Kamera, ändern Sie einfach den Kameraindex durch den Namen der Videodatei.

Darüber hinaus können Sie beim Anzeigen eines Videos die Geschwindigkeit der Videowiedergabe über cv.waitKey() steuern. Wenn die Einstellung zu klein ist, wird das Video sehr schnell sein, was einer Wiedergabe mit doppelter Geschwindigkeit entspricht; ist sie zu groß, wird das Video sehr langsam sein, was einer verzögerten Wiedergabe entspricht. Normalerweise sind 25 Millisekunden in Ordnung.

import cv2 as cv
cap = cv.VideoCapture('video.mp4')
while cap.isOpened():
ret, frame = cap.read()
# 如果正确读取帧,ret为True
if not ret:
break
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
cap.release()
cv.destroyAllWindows()
Nach dem Login kopieren

Führen Sie diesen Code aus und Sie sehen ein Popup-Fenster, in dem die von Ihnen ausgewählte Videodatei abgespielt wird.

Video speichern

Lesen Sie das Video von der Kamera und wir können das Video lokal speichern. Wir nehmen ein Video auf und verarbeiten es Bild für Bild. Wenn wir dieses Video speichern möchten, ist es ganz einfach, einfach cv.VideoWriter() zu verwenden.

cv.VideoWriter() hat 5 Parameter:

  • Parameter 1: Name der Ausgabedatei, zum Beispiel: Output.mp4.
  • Parameter 2: FourCC-Code, FourCC ist ein 4-Byte-Code, der zur Angabe des Videocodecs verwendet wird.
  • Parameter 3: Die Anzahl der Bildraten.
  • Parameter 4: Rahmengröße.
  • Parameter 5: Farbflag. Wenn True, normale Farbausgabe, andernfalls graue Bildausgabe.

Zum Vergleich zwischen FourCC und Videoformaten habe ich einige gängige Formate aufgelistet:

cv2.VideoWriter_fourcc('P','I','M','1') = MPEG-1 Codec cv2.VideoWriter_fourcc ( 'M','J','P','G') = Motion-Jpeg-Codec --> mp4v cv2.VideoWriter_fourcc('M', 'P', '4', '2') = MPEG-4.2-Codec cv2.VideoWriter_fourcc('D', 'I', 'V', '3') = MPEG-4.3-Codec cv2.VideoWriter_fourcc('D', 'I', 'V', 'X') = MPEG-4-Codec --> avi cv2.VideoWriter_fourcc('U', '2', '6', '3') = H263-Codec cv2.VideoWriter_fourcc('I', '2', '6', '3') = H263I-Codec cv2.VideoWriter_fourcc('F', 'L', 'V', '1') = FLV1-Codec

Code zum Speichern des Videos:

import cv2 as cv
cap = cv.VideoCapture(0)
# 定义编解码器并创建VideoWriter对象
fourcc = cv.VideoWriter_fourcc(*'MJPG')
out = cv.VideoWriter('output.mp4', fourcc, 20.0, (640,480))
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frame = cv.flip(frame, 1)
# 写翻转的框架
out.write(frame)
cv.imshow('frame', frame)
if cv.waitKey(1) == ord('q'):
break
# 完成工作后释放所有内容
cap.release()
out.release()
cv.destroyAllWindows()
Nach dem Login kopieren

Führen Sie diesen Code aus, Sie finden eine Ausgabe im Codeverzeichnis mp4-Video Dateien.

Wenn Sie in den obigen Codeausschnitten den Videovorgang beenden möchten, drücken Sie einfach q auf der Tastatur.

Zusammenfassung

Das Obige ist das, was ich heute vorstellen werde. Es ist relativ einfach, Python-OpenCV zum Bedienen von Videos zu verwenden. Natürlich können Sie das Video auch beim Lesen oder Speichern bearbeiten. Wir werden dies in einem späteren Artikel vorstellen.

Das obige ist der detaillierte Inhalt vonPython-Programmierung: Videos mit der Kamera aufnehmen, wiedergeben und speichern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Gibt es eine mobile App, die XML in PDF umwandeln kann? Gibt es eine mobile App, die XML in PDF umwandeln kann? Apr 02, 2025 pm 08:54 PM

Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

Wie definiere ich einen Enum -Typ in Protobuf- und Associate -String -Konstanten? Wie definiere ich einen Enum -Typ in Protobuf- und Associate -String -Konstanten? Apr 02, 2025 pm 03:36 PM

Probleme bei der Definition von String Constant -Aufzählung in Protobuf Bei der Verwendung von Protobuf stellen Sie häufig Situationen auf, in denen Sie den Enum -Typ mit String -Konstanten verknüpfen müssen ...

So ändern Sie den Kommentarinhalt in XML So ändern Sie den Kommentarinhalt in XML Apr 02, 2025 pm 06:15 PM

Für kleine XML -Dateien können Sie den Annotationsinhalt direkt durch einen Texteditor ersetzen. Für große Dateien wird empfohlen, den XML -Parser zu verwenden, um ihn zu ändern, um Effizienz und Genauigkeit zu gewährleisten. Seien Sie vorsichtig, wenn Sie XML -Kommentare löschen. Beibehalten von Kommentaren hilft das Verständnis und die Wartung von Code normalerweise. Erweiterte Tipps bieten Python -Beispielcode, um Kommentare mit XML -Parser zu ändern. Die spezifische Implementierung muss jedoch gemäß der verwendeten XML -Bibliothek angepasst werden. Achten Sie bei der Änderung von XML -Dateien auf Codierungsprobleme. Es wird empfohlen, die UTF-8-Codierung zu verwenden und das Codierungsformat anzugeben.

Benötigt die XML -Änderung eine Programmierung? Benötigt die XML -Änderung eine Programmierung? Apr 02, 2025 pm 06:51 PM

Das Ändern des XML -Inhalts erfordert die Programmierung, da die Zielknoten genau aufgefasst werden müssen, um hinzuzufügen, zu löschen, zu ändern und zu überprüfen. Die Programmiersprache verfügt über entsprechende Bibliotheken, um XML zu verarbeiten, und bietet APIs zur Durchführung sicherer, effizienter und steuerbarer Vorgänge wie Betriebsdatenbanken.

Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Apr 02, 2025 pm 10:09 PM

Die Geschwindigkeit der mobilen XML zu PDF hängt von den folgenden Faktoren ab: der Komplexität der XML -Struktur. Konvertierungsmethode für mobile Hardware-Konfiguration (Bibliothek, Algorithmus) -Codierungsoptimierungsmethoden (effiziente Bibliotheken, Optimierung von Algorithmen, Cache-Daten und Nutzung von Multi-Threading). Insgesamt gibt es keine absolute Antwort und es muss gemäß der spezifischen Situation optimiert werden.

So öffnen Sie das XML -Format So öffnen Sie das XML -Format Apr 02, 2025 pm 09:00 PM

Verwenden Sie die meisten Texteditoren, um XML -Dateien zu öffnen. Wenn Sie eine intuitivere Baumanzeige benötigen, können Sie einen XML -Editor verwenden, z. B. Sauerstoff XML -Editor oder XMLSPY. Wenn Sie XML -Daten in einem Programm verarbeiten, müssen Sie eine Programmiersprache (wie Python) und XML -Bibliotheken (z. B. XML.etree.elementtree) verwenden, um zu analysieren.

Was ist der Prozess des Konvertierens von XML in Bilder? Was ist der Prozess des Konvertierens von XML in Bilder? Apr 02, 2025 pm 08:24 PM

Um XML -Bilder zu konvertieren, müssen Sie zuerst die XML -Datenstruktur ermitteln, dann eine geeignete grafische Bibliothek (z. B. Pythons Matplotlib) und eine Methode auswählen, eine Visualisierungsstrategie basierend auf der Datenstruktur auswählen, das Datenvolumen und das Bildformat, die Batch -Verarbeitung ausführen oder effiziente Bibliotheken verwenden und schließlich als PNG, JPEG oder SVG nach den Bedürfnissen speichern.

Wie konvertieren Sie XML mit hoher Qualität auf Ihr Telefon in PDF? Wie konvertieren Sie XML mit hoher Qualität auf Ihr Telefon in PDF? Apr 02, 2025 pm 09:48 PM

Konvertieren Sie XML in PDF mit hoher Qualität auf Ihrem Mobiltelefon müssen: XML in der Cloud analysieren und PDFs mithilfe einer serverlosen Computerplattform generieren. Wählen Sie eine effiziente Bibliothek für XML -Parser- und PDF -Generation. Fehler korrekt behandeln. Nutzen Sie die Cloud -Computing -Leistung voll, um schwere Aufgaben auf Ihrem Telefon zu vermeiden. Passen Sie die Komplexität gemäß den Anforderungen an, einschließlich der Verarbeitung komplexer XML-Strukturen, der Erzeugung von mehrseitigen PDFs und dem Hinzufügen von Bildern. Drucken Sie Protokollinformationen zum Debuggen. Optimieren Sie die Leistung, wählen Sie effiziente Parser- und PDF -Bibliotheken aus und können asynchrone Programmier- oder Vorverarbeitungs -XML -Daten verwenden. Gewährleisten Sie eine gute Codequalität und -wartbarkeit.

See all articles