Reemplace la pantalla verde usando OpenCV-Python

Prerrequisitos: OpenCV Python Tutorial
OpenCV (Open Source Computer Vision) es una biblioteca de visión por computadora que contiene varias funciones para realizar operaciones en imágenes o videos. Esta biblioteca es multiplataforma, es decir, está disponible en múltiples lenguajes de programación como Python, C++, etc.
La eliminación de pantalla verde se usa en la industria de VFX para cambiar las escenas. Aquí, usaremos OpenCV – Python para hacer lo mismo. 
 

Acercarse:

  1. Importar todas las bibliotecas necesarias
  2. Cargar las imágenes o videos
  3. Cambiar el tamaño de las imágenes y los videos al mismo tamaño
  4. Cargue los valores BGR superior e inferior del color verde
  5. Aplique la máscara y luego use bitwise_and
  6. Restar bitwise_and de la imagen de pantalla verde original
  7. Verifique el valor de array 0 después de la resta y reemplácelo por la segunda imagen
  8. Obtienes los resultados deseados.

A continuación se muestra la implementación. 

Python3

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()

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por ayushmankumar7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *