Я просто пытаюсь получить изображение моей веб-камеры в python с OpenCV 4.2.0 (на Spyder - python 3.7 на windows 10). Я просто скопировал и скопировал код документации OpenCV (см. Ниже), и большую часть времени он печатает: «Не удается получить кадр (конец потока?). Выход ...» Итак, я знаю, что ошибка возникает из-за: ret, frame = cap.read (). Но я не знаю, как это исправить. Иногда он печатает: «Не удается открыть камеру», а затем выходит из консоли Spyder и запускает новую, а иногда просто отлично работает ... Кто-нибудь может помочь? Вот мой код:
import numpy as np
import cv2 as cv
cap = cv.VideoCapture(0)
if not cap.isOpened():
print("Cannot open camera")
exit()
while True:
# Capture frame-by-frame
ret, frame = cap.read()
# if frame is read correctly ret is True
if not ret:
print("Can't receive frame (stream end?). Exiting ...")
break
# Our operations on the frame come here
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
# Display the resulting frame
cv.imshow('frame', gray)
if cv.waitKey(1) == ord('q'):
break
# When everything done, release the capture
cap.release()
cv.destroyAllWindows()
Добавлена последняя строка для закрытия окна