我用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...!"
你能告诉我是什么问题吗?在
你的循环不关心你视频中的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/
相关问题 更多 >
编程相关推荐