Веб-камера открывается, но не читает - PullRequest
0 голосов
/ 03 июня 2019

cv2.VideoCapture() работает хорошо, но cap.read() не работает.И в программе нет ошибок.

Код работает хорошо, и веб-камера открывается на несколько секунд, но я не могу просмотреть живой скетч.

Чтобы понять проблему, я пишуprint("hello") и обнаружил, что ret,frame=cap.read() создает проблему.

Код работал правильно, прежде чем я обновил свое окно.

import cv2

cap=cv2.VideoCapture(0)

while True:
    print ("hello")
    ret,frame=cap.read()
    print ("hello")
    cv2.imshow("Our Live Sketch",frame)
    if cv2.waitKey(1)==13:
        break;

cap.release()
cv2.destroyAllWindows()

Как этот код будет работать снова, как и раньше?

1 Ответ

0 голосов
/ 03 июня 2019

OpenCV может использовать множество бэкэндов для захвата видео - videoio . Для захвата с веб-камер Windows может использовать бэкэнды vfw (старый), DirectShow (старый) и MSMF (современный). В последней Windows 10 по умолчанию используется MSMF. Но некоторые веб-камеры имеют только драйверы DirectShow. И это нужно установить вручную:

cap=cv2.VideoCapture(0 + cv2.CAP_DSHOW)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...