gpt4 book ai didi

python - 使用opencv获得所需帧率的imshow()

转载 作者:行者123 更新时间:2023-12-02 17:34:24 26 4
gpt4 key购买 nike

有什么解决方法如何使用特定帧率的cv2.imshow()?我通过VideoCapture捕获视频并对其进行一些简单的后处理(都在一个单独的线程中,因此它将所有帧加载到Queue中,并且主线程不会因计算而变慢)。我尝试通过计算用于从队列“读取”图像的时间来固定帧速率,然后从一帧可用的毫秒数中减去该值:
如果我具有50FPS的输入视频,并且想实时回放,则每帧执行1000/50 => 20ms。
然后使用cv2.WaitKey()等待该时间
但是我仍然得到一些落后的输出。比源视频慢

最佳答案

我不相信opencv中有这样的功能,但是也许您可以通过使用计时器添加动态等待时间来改进您的方法? timeit.default_timer()计算处理所需的时间,并从预期的帧速率中减去该时间,并可能添加几毫秒的缓冲区。

例如cv2.WaitKey((1000/50) - (time processing finished - time read started) - 10)
或者您可能会有更严格的时间安排,例如script start time + frame# * 20ms - time processing finished
我还没有亲自尝试过,因此无法确定它是否会真正起作用,也可能值得检查一下,因此该数字不会低于1

关于python - 使用opencv获得所需帧率的imshow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52806175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com