OpenCV ist eine umfangreiche Bibliothek, die verschiedene Funktionen für Bild- und Videobetriebe bereitstellt. Mit OpenCV können wir Operationen am Eingangsvideo ausführen. Mit OpenCV können wir das betriebene Video auch zur weiteren Verwendung speichern. Zum Speichern von Bildern verwenden wir cv2.imwrite(), mit dem das Bild an einem bestimmten Speicherort gespeichert wird. Zum Speichern eines aufgezeichneten Videos erstellen wir jedoch ein Video Writer- Objekt.

Zunächst geben wir die Variable fourcc an . FourCC ist ein 4-Byte-Code, mit dem der Videocodec angegeben wird. Eine Liste der Codes kann bei Video Codecs von FourCC bezogen werden . Die Codecs für Windows sind DIVX und für OSX avc1, h263. FourCC-Code wird als cv2.VideoWriter_fourcc (* 'MJPG') für MJPG und cv2.VideoWriter_fourcc (* 'XVID') für DIVX übergeben.

Anschließend wird die Funktion cv2.VideoWriter() verwendet.

cv2.VideoWriter (Dateiname, Fourcc, FPS, FrameSize)

Die Parameter sind:

  1. Dateiname: Gibt den Namen der Ausgabevideodatei an.
  2. fourcc: (zur Aufnahme) Definieren des Codecs
  3. fps: Definierte Bildrate des ausgegebenen Videostreams
  4. frameSize: Größe der Videobilder
  
import numpy as np 
import cv2 
  
cap = cv2.VideoCapture(0)   
  
fourcc = cv2.VideoWriter_fourcc(*'XVID') 
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) 
  
while(True): 
    
    
    ret, frame = cap.read()  
  
    
    
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 
      
    
    out.write(hsv)  
      
    
    cv2.imshow('Original', frame) 
  
    
    cv2.imshow('frame', hsv) 
  
      
    
    if cv2.waitKey(1) & 0xFF == ord('a'): 
        break
  
cap.release() 
  
out.release()  
  
cv2.destroyAllWindows() 

Ausgabe:
Der Ausgabebildschirm zeigt zwei Fenster an. Das Fenster mit dem Namen "Original" zeigt Eingabebilder, während das Fenster "Bild" die betriebene Videosequenz anzeigt. Außerdem wird ein Video mit dem Namen "Ausgabe" am selben Dateispeicherort mit vordefinierter Bildrate und Bildgröße aufgenommen und gespeichert. Es hat im Allgemeinen das Format .avi. Das gespeicherte Video sieht folgendermaßen aus: Video ausgeben




Das Eingangsvideo kann auch in anderen Farbräumen wie Graustufen betrieben werden

  
import numpy as np 
import cv2 
  
cap = cv2.VideoCapture(0)   
  
fourcc = cv2.VideoWriter_fourcc(*'XVID') 
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) 
  
while(True): 
    
    
    ret, frame = cap.read()  
  
    
    
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
      
    
    out.write(gray)  
      
    
    cv2.imshow('Original', frame) 
  
    
    cv2.imshow('frame', gray) 
  
      
    
    if cv2.waitKey(1) & 0xFF == ord('a'): 
        break
  
cap.release() 
  
  
cv2.destroyAllWindows() 

Ausgabe:

Eine Videodatei dieses betriebenen Videos wird am selben Speicherort wie oben gespeichert.

Diese Methode kann uns helfen, einen eigenen Datensatz für Trainingsdaten in Projekten / Modellen zu erstellen, von unserer Webcam aufzunehmen und die erforderlichen Vorgänge auszuführen sowie das Video in verschiedenen Farbräumen zu erstellen.

Bitte verweisen Sie auf diesen Link, um Inhalte in verschiedenen Farbräumen zu visualisieren:
https://de.acervolima.com/python-visualisierung-von-bildern-in-verschiedenen-farbraumen/

Verweise:

  1. https://docs.opencv.org/3.4/dd/d9e/classcv_1_1VideoWriter.html
  2. https://docs.opencv.org/3.1.0/dd/d43/tutorial_py_video_display.html
  3. https://en.wikipedia.org/wiki/FourCC
  4. https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html

Geeks-Digest-Img