Python OpenCV Две веб-камеры на Raspberry Pi 4 - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь запустить 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: Неверный аргумент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...