我正在尝试使用OpenCv从我的网络摄像头获取输入,并使用pyvirtualcam将其发送到虚拟摄像头。出于某种原因,当我的摄像头显示时,它会显示一个蓝色的滤镜。当我显示我的网络摄像头没有发送到虚拟相机,没有过滤器,一切工作正常。
import pyvirtualcam
import cv2
cap = cv2.VideoCapture(0)
with pyvirtualcam.Camera(width=1280, height=720, fps=20) as cam:
while True:
ret_val, frame = cap.read()
frame = cv2.resize(frame, (1280, 720), interpolation=cv2.BORDER_DEFAULT)
# cv2.imshow('my webcam', frame)
cam.send(frame)
cam.sleep_until_next_frame()
if cv2.waitKey(1) == 27:
break # esc to quit
cv2.destroyAllWindows()
发布于 2021-04-02 17:24:22
OpenCV使用BGR作为像素格式。pyvirtualcam默认支持RGB,但它也支持BGR:
fmt = pyvirtualcam.PixelFormat.BGR
with pyvirtualcam.Camera(width=1280, height=720, fps=20, fmt=fmt) as cam:
https://stackoverflow.com/questions/66910848
复制相似问题