当尝试同时从两个摄像头(使用一个USB集线器)捕获帧时,只有一个摄像头可以返回有效帧,另一个将不返回任何帧。当使用一个外部摄像头和笔记本电脑的内部摄像头时,它工作正常。你知道吗
同样的代码和硬件在Ubuntu系统上也能正常工作。因此,可能是Windows或其驱动程序有问题,或者使用集线器有问题(可能是带宽问题,但不是电源问题,因为集线器有外部电源)
import cv2
import numpy as np
from multiprocessing import Process
def show(camera_id):
cap = cv2.VideoCapture(camera_id)
cap.set(3,640)
cap.set(4,480)
cap.set(cv2.CAP_PROP_FPS, 30)
while True:
ret, frame = cap.read()
cv2.imshow('test', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
p1 = Process(target=show, args=(0,))
p2 = Process(target=show, args=(1,))
p1.start()
p2.start()
目前没有回答
相关问题 更多 >
编程相关推荐