Pré-requisitos: Tutorial OpenCV Python

OpenCV (Open Source Computer Vision) é uma biblioteca de visão computacional que contém várias funções para realizar operações em imagens ou vídeos. Esta biblioteca é multiplataforma, está disponível em várias linguagens de programação, como Python, C ++, etc.

A remoção de tela verde é usada na indústria de VFX para alterar as cenas. Aqui, usaremos OpenCV - Python para fazer o mesmo.

Abordagem

  1. Importar todas as bibliotecas necessárias
  2. Carregue as imagens ou vídeos
  3. Redimensione as imagens e os vídeos para o mesmo tamanho
  4. Carregue os valores BGR superiores e inferiores da cor verde
  5. Aplique a máscara e use bitwise_and
  6. Subtraia bit a bit_and da imagem da tela verde original
  7. Verifique o valor da matriz 0 após a subtração e substitua-o pela segunda imagem
  8. Você obtém os resultados desejados.

Abaixo está a implementação.

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

Resultado: