Результаты захвата видео OpenCV - PullRequest
0 голосов
/ 18 июня 2020

Я слежу за учебником по захвату видео OpenCV и возвращаю значения, которых не понимаю. Вот мой сценарий:

import cv2, time

video=cv2.VideoCapture(0)

check, frame = video.read()

print(check)
print(frame)

time.sleep(3)
cv2.imshow("Capturing", frame)

cvw.waitKey(0)
video.release()
cv2.destroyAllWindows

Когда я запускаю сценарий, я получаю следующие результаты:

False
None
Traceback (most recent call last):
  File "capture.py", line 11, in <module>
    cv2.imshow("Capturing", frame)
cv2.error: OpenCV(4.2.0) /Users/travis/build/skvark/opencv-python/opencv/modules/highgui/src/window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'

Я не знаю, почему я возвращаю «False» и «None».

Спасибо за любую помощь

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Перед первым чтением требуется задержка. Вставьте код задержки, например,

import time
#if you use camera
#video=cv2.VideoCapture(0)
#if you use video file
video=cv2.VideoCapture('c:/1.avi')
time.sleep(3)
check, frame = video.read()

print(check)
print(frame)
0 голосов
/ 18 июня 2020

Используйте следующий код для непрерывного чтения кадров с камеры.

import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Display the resulting frame
    if frame.size != 0:
        cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...