Related Articles

Related Articles

Replace Green Screen using OpenCV- Python
  • Last Updated : 04 May, 2020

Prerequisites: OpenCV Python Tutorial

OpenCV (Open Source Computer Vision) is a computer vision library that contains various functions to perform operations on pictures or videos. This library is cross-platform that is it is available on multiple programming languages such as Python, C++, etc.

Green Screen removal is used in the VFX industry for changing the scenes. Here, we will use OpenCV – Python to do the same.

Approach

  1. Import all necessary libraries
  2. Load the images or videos
  3. Resize the images and the videos to the same size
  4. Load the upper and lower BGR values of the green color
  5. Apply the mask and then use bitwise_and
  6. Substract bitwise_and from the original green screen image
  7. Check for matrix value 0 after substraction and replace it by the second image
  8. You get the desired results.

Below is the implementation.

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output:

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :