Open In App

Replace Green Screen using OpenCV- Python

Last Updated : 04 Jun, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

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. Subtract bitwise_and from the original green screen image
  7. Check for matrix value 0 after subtraction and replace it by the second image
  8. You get the desired results.


Below is the implementation. 

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

Output: 
 

Screenshot-from-2020-04-21-22-42-28-copy



 


Next Article
Article Tags :
Practice Tags :

Similar Reads

three90RightbarBannerImg