代码
import cv
capture = cv.CaptureFromFile("a.avi")
while True:
frame = cv.QueryFrame(capture)
cv.ShowImage("a',frame)
重复显示视频中相同的初始帧(QueryFrame不会推进视频并抓取下一帧)。如果从网络摄像头捕获视频,它可以正常工作。
有什么想法吗?
答案 0 :(得分:3)
我一遍又一遍地看到同样的错误,所以这可能是我最后一次解决它们。希望将来人们会开始使用搜索框并深入挖掘。
显示相框后调用cv.WaitKey()
。如果在显示帧之间没有延迟,则可能发生一些问题。我相信这个问题。
代码防御性:如果您正在调用可能失败的函数/方法believe in Murphy,并添加相应的检查以验证它不会:
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