使用 OpenCV- Python 替换绿屏
原文:https://www.geesforgeks.org/replace-green-screen-use-opencv-python/
先决条件: OpenCV Python 教程 OpenCV(开源计算机视觉)是一个计算机视觉库,包含对图片或视频执行操作的各种功能。这个库是跨平台的,因为它可以在多种编程语言上使用,如 Python、C++等。 绿屏移除在 VFX 工业中用于改变场景。在这里,我们将使用Opencv–Python来做同样的事情。
方法:
- 导入所有必要的库
- 加载图像或视频
- 将图像和视频调整到相同的大小
- 加载绿色的 BGR 上限值和下限值
- 应用掩码,然后使用按位“与”
- 从原始绿屏图像中减去按位“与”
- 减法后检查矩阵值 0,并用第二个图像替换它
- 你会得到想要的结果。
下面是实现。
蟒蛇 3
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()