При попытке захвата кадров с двух камер (с использованием одного 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()