Voraussetzungen: OpenCV Python Tutorial

OpenCV (Open Source Computer Vision) ist eine Computer Vision-Bibliothek, die verschiedene Funktionen zum Ausführen von Vorgängen für Bilder oder Videos enthält. Diese Bibliothek ist plattformübergreifend, dh sie ist in mehreren Programmiersprachen wie Python, C ++ usw. verfügbar.

Das Entfernen von Green Screen wird in der VFX-Branche zum Ändern der Szenen verwendet. Hier werden wir OpenCV - Python verwenden , um dasselbe zu tun.

Ansatz

  1. Importieren Sie alle erforderlichen Bibliotheken
  2. Laden Sie die Bilder oder Videos
  3. Ändern Sie die Größe der Bilder und Videos auf die gleiche Größe
  4. Laden Sie die oberen und unteren BGR-Werte der grünen Farbe
  5. Wenden Sie die Maske an und verwenden Sie dann bitwise_and
  6. Subtrahieren Sie bitwise_and vom ursprünglichen Greenscreen-Bild
  7. Überprüfen Sie nach der Subtraktion den Matrixwert 0 und ersetzen Sie ihn durch das zweite Bild
  8. Sie erhalten die gewünschten Ergebnisse.

Unten ist die Implementierung.

import cv2  
import numpy as np  
  
video = cv2.VideoCapture("green.mp4") 
image = cv2.imread("bg.jpeg") 
  
while True: 
  
    ret, frame = video.read() 
  
    frame = cv2.resize(frame, (640, 480)) 
    image = cv2.resize(image, (640, 480)) 
  
  
    u_green = np.array([104, 153, 70]) 
    l_green = np.array([30, 30, 0]) 
  
    mask = cv2.inRange(frame, l_green, u_green) 
    res = cv2.bitwise_and(frame, frame, mask = mask) 
  
    f = frame - res 
    f = np.where(f == 0, image, f) 
  
    cv2.imshow("video", frame) 
    cv2.imshow("mask", f) 
  
    if cv2.waitKey(25) == 27: 
        break 
  
video.release() 
cv2.destroyAllWindows() 

Ausgabe: