我想知道如何将我用python OpenCV编写的代码实现到google meet/Zoom调用中。我对OpenCV比较陌生。
from cv2 import cv2
import numpy as np
import pyvirtualcam
def empty(a):
pass
cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
cap.set(10, 100)
cv2.namedWindow("TrackBars")
cv2.resizeWindow("TrackBars", 640, 240)
cv2.createTrackbar("Hue Min", "TrackBars", 0, 179, empty)
cv2.createTrackbar("Hue Max", "TrackBars", 179, 179, empty)
cv2.createTrackbar("Sat Min", "TrackBars", 111, 255, empty)
cv2.createTrackbar("Sat Max", "TrackBars", 255, 255, empty)
cv2.createTrackbar("Val Min", "TrackBars", 73, 255, empty)
cv2.createTrackbar("Val Max", "TrackBars", 255, 255, empty)
while True:
success, img = cap.read()
imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h_min = cv2.getTrackbarPos("Hue Min", "TrackBars")
h_max = cv2.getTrackbarPos("Hue Max", "TrackBars")
s_min = cv2.getTrackbarPos("Sat Min", "TrackBars")
s_max = cv2.getTrackbarPos("Sat Max", "TrackBars")
v_min = cv2.getTrackbarPos("Val Min", "TrackBars")
v_max = cv2.getTrackbarPos("Val Max", "TrackBars")
print(h_min, h_max, s_min, s_max, v_min, v_max)
lower = np.array([h_min, s_min, v_min])
upper = np.array([h_max, s_max, v_max])
mask = cv2.inRange(imgHSV, lower, upper)
imgResult = cv2.bitwise_and(img, img, mask=mask)
cv2.imshow("Original", img)
cv2.imshow("HSV", imgHSV)
cv2.imshow("Mask", mask)
cv2.imshow("Result", imgResult)
if cv2.waitKey(1) & 0xFF ==ord('q'):
break这是我想要在google meet/zoom上实现的代码。有可能吗?
发布于 2021-05-11 22:50:56
好了,我想通了。我不知道这是否是最有效的方法,但我认为您可以为OBS安装NDI输出插件。在OBS中,我刚刚捕获了我的cv2窗口,然后NDI插件使我的OBS成为google meet/zoom分享的实际输出。
https://stackoverflow.com/questions/67477691
复制相似问题