如何为 waitKey() 动态分配延迟值,以便我获得正确的 fps
How to dynamically assign delay value for waitKey() so I get the correct fps?
我有一个视频,我想处理帧。
VideoCapture capture("movie.mpg");
while(true) {
Mat frame;
capture >> frame;
// This may take some time to finish
processFrame(frame);
if (waitKey(80) == 'q')
break;
}
问题是,使用硬编码延迟waitKey(80)
将导致视频的 fps 不正确。例如,上面的代码尝试以每秒 12 帧的速度显示视频,但如果processFrame()
需要一些时间才能完成,则 fps 会更低,并且视频看起来滞后。
我需要在这里对延迟值进行一些计算。如何动态分配值,使 fps 保持在 12?谢谢。
您可以通过查询捕获接口来检索视频的实际 FPS:
double fps = capture.get(CV_CAP_PROP_FPS);
您还可以使用 CV_CAP_PROP_FRAME_COUNT
.
有了这些信息,您可以进行简单的计算并找出延迟的确切时间。
相关文章:
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 使用 sfml 计算 FPS
- 从 OpenCV 3 切换到 OpenCV 4 会导致网络摄像头以最大 5 fps 的速度录制,而不是通常的 30 f
- Unity3D的OpenCV dll调用导致FPS下降
- 直接显示返回错误的帧速率 FPS
- 当我在每一帧中多次使用正则表达式时,FPS 下降了
- 如何在 GLFW 窗口中以固定的 FPS 渲染?
- Opencv:相同的捕获代码在高端笔记本电脑上提供低 FPS,在 TX1 上提供高 FPS
- DirectX矩阵:相对于面向方向的转换(例如在FPS中)
- 使用 waitKey () 时无法打印像素值
- FPS相机上不需要的胶卷
- 如何使用opencv计算视频的fps(带处理)
- 是否可以使用 cv::waitkey(0) 读取 unicode 值
- 如何使用C 中的FFMPEG获取视频fps
- cv2.waitkey(0)当随机键按时不等待-OpenCV 3.1.0,python3,ubuntu
- Limiting fps with std::chrono
- 修复视频FPS OPENCV
- 测得的 fps 高于理论 fps
- 低FPS与OpenCV视频捕获
- 如何为 waitKey() 动态分配延迟值,以便我获得正确的 fps