Opencv也可以播放视频

2024-05-16 06:23:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python编写了一个程序用Opencv播放一些视频。。。它在Windows10中可以正常工作。 但我想用覆盆子运行它,问题是视频播放速度太慢。 我使用了OMXplayer,它可以非常流畅地播放文件。所以问题不是覆盆子

我简化了代码:

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...!"

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


Tags: 文件代码程序视频覆盆子ifcv2frame
1条回答
网友
1楼 · 发布于 2024-05-16 06:23:13

你的循环不关心你视频中的fps。 看起来你的视频没有缓存在内存中,你直接从磁盘上读取,这就是为什么你的视频显示速度慢。 预装你的视频,只需在显示前将所有帧保存在列表中。在

对于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/

相关问题 更多 >