Python 3.x 在应用程序中使用OpenCV视频
我希望创建一个程序,从两个不同的网络摄像头获取两个输入。然后,我希望使用这些视频中的一个作为输出,以便例如google meet或zoom能够显示它们。然后,如果我按s键,它将在这些视频之间切换。这部分我可以自己做 我需要的是一个命令“开关”,它应该在视频之间切换 我发现这些应用程序中没有一个可以获得这些视频 我正在使用Python 3.7(anaconda) 这是我的代码(我从中获得它,还请注意,我使用了四个空格,因为我不太熟悉在StackOverflow上提问):Python 3.x 在应用程序中使用OpenCV视频,python-3.x,opencv,Python 3.x,Opencv,我希望创建一个程序,从两个不同的网络摄像头获取两个输入。然后,我希望使用这些视频中的一个作为输出,以便例如google meet或zoom能够显示它们。然后,如果我按s键,它将在这些视频之间切换。这部分我可以自己做 我需要的是一个命令“开关”,它应该在视频之间切换 我发现这些应用程序中没有一个可以获得这些视频 我正在使用Python 3.7(anaconda) 这是我的代码(我从中获得它,还请注意,我使用了四个空格,因为我不太熟悉在StackOverflow上提问): 所以我意外地找到了一个解决
所以我意外地找到了一个解决方案:
你的意思是cv.imshow应该只显示所需的帧?不,不是那样。实际上,我的意思是视频应该通过缩放来使用,而不是通过cv.imshow在屏幕上显示。但是,例如,zoom应该只使用所需的视频。我知道,在discord或team中,您可以简单地选择要共享的窗口。对不起,我帮不上忙
import cv2 as cv
cap = cv.VideoCapture(0)
cap2 = cv.VideoCapture(1)
while True:
ret, frame = cap.read()
ret2, frame2 = cap2.read()
# if frame is read correctly ret is True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
if not ret2:
print("Can't receive frame2 (stream end?). Exiting ...")
break
# Display the resulting frame
cv.imshow('frame', frame)
cv.imshow('frame2', frame2)
if cv.waitKey(1) == ord('q'):
print("Exiting...")
break
cap.release()
cv.destroyAllWindows()
cam = pyvirtualcam.Camera(width=int(capture.get(3)), height=int(capture.get(4)), fps=30)
cam.send(<Photo>)
cam.sleep_until_next_frame()