Я пытаюсь запустить 2 веб-камеры USB на Raspberry Pi 4 со следующим кодом:
import cv2
cap0 = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(2)
while True:
ret0, frame0 = cap0.read()
cv2.imshow('frame0', frame0)
ret2, frame2 = cap2.read()
cv2.imshow('frame2', frame2)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
cap0.release()
cap2.release()
Я получаю следующую ошибку:
выберите время ожидания трассировки (последний вызовпоследнее):
Файл "/home/pi/temp2.py", строка 11, в cv2.imshow ('frame2', frame2) cv2.error: OpenCV (3.4.3) / home / pi /opencvpython / opencv / modules / highgui / src / window.cpp: 356: ошибка: (-215: утверждение не выполнено) size.width> 0 && size.height> 0 в функции 'imshow'
Если я комментируювне одной из веб-камер, ошибок нет. Я могу заставить их обоих работать независимо друг от друга.
import cv2
cap0 = cv2.VideoCapture(0)
# cap2 = cv2.VideoCapture(2)
while True:
ret0, frame0 = cap0.read()
cv2.imshow('frame0', frame0)
# ret2, frame2 = cap2.read()
# cv2.imshow('frame2', frame2)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
cap0.release()
cap2.release()
Может кто-нибудь подсказать мне? Если я переупорядочиваю код (поместив оба imshows в конце), я иногда получаю также следующую ошибку:
VIDIOC_QBUF: Неверный аргумент