Opencv播放的视频太慢

时间:2017-07-28 15:14:23

标签: python opencv

我用Python编写了一个程序,用Opencv播放一些视频...它在Windows 10中正常工作。 但我想用Raspberry运行它,问题是视频播放速度太慢。 我使用了OMXplayer,它可以非常流畅地播放文件。所以问题不在于Raspberry。(我想是这样......)

我简化了我的代码:

print "---Playing the Videos and Images---"
cap = cv2.VideoCapture(str(VideoPath))
while cap.isOpened():
 ret, frame = cap.read()
 if ret == True:
  cv2.imshow('videoWindow',frame)
 if cv2.waitKey(25) & 0xFF == ord('q'):
  a=2
  break

cv2.destroyAllWindows()
print "!...Done...!"

你能告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:2)

您的循环并不关心视频中的fps。 看起来您的视频没有缓存在RAM中,您直接从磁盘中读取它,这就是为什么您的视频显示速度慢的原因。 预加载视频,只需将所有帧保存在列表中,然后再显示它们。

获取cv2.X的video.get(cv2.cv.CV_CAP_PROP_FPS)或cv3.X的video.get(cv2.CAP_PROP_FPS) fps。

现在,测量每次循环迭代的时间并计算所需的睡眠间隔。 看看这里:https://www.learnopencv.com/how-to-find-frame-rate-or-frames-per-second-fps-in-opencv-python-cpp/