QueryFrame не продвигает кадр в OpenCV
Код
import cv
capture = cv.CaptureFromFile("a.avi")
while True:
frame = cv.QueryFrame(capture)
cv.ShowImage("a',frame)
Несколько раз показывает один и тот же начальный кадр из видео (QueryFrame не продвигает видео и не захватывает следующий кадр). Он отлично работает, если видео снято с веб-камеры.
Есть идеи?
1 ответ
Решение
Я снова и снова вижу одни и те же ошибки, так что, наверное, это последний раз, когда я их исправлю. Надеюсь, что в будущем люди начнут использовать окно поиска и будут копать немного глубже.
Вызовcv.WaitKey()
после отображения кадра. Если нет задержки между отображением кадров, могут возникнуть проблемы. Я считаю, что это проблема.
Защитите код: если вы вызываете функцию / метод, который может дать сбой, поверьте в Мерфи и добавьте соответствующую проверку, чтобы убедиться, что это не так:
import cv
capture = cv.CaptureFromFile("a.avi")
if not capture :
print "Error loading video file"
# Should exit the application
while True:
frame = cv.QueryFrame(capture)
if not frame:
print "Could not retrieve frame"
cv.ShowImage("a", frame)
k = cv.WaitKey(10)
if k == 27:
break # ESC key was pressed