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:
- Import all necessary libraries
- Load the images or videos
- Resize the images and the videos to the same size
- Load the upper and lower BGR values of the green color
- Apply the mask and then use bitwise_and
- Subtract bitwise_and from the original green screen image
- Check for matrix value 0 after subtraction and replace it by the second image
- You get the desired results.
Below is the implementation.Â
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() |
Output:Â
Â
Â