如何使用OpenCV以固定帧率(fps)播放任何视频?

时间:2012-06-07 19:46:47

标签: c++ opencv computer-vision

OpenCV中是否有任何方式或功能允许我们以固定帧率(fps)播放任何视频?不同的视频可能有不同的帧速率,但通过使用OpenCV库我们可以按照我们定义的固定帧速率播放它们吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

看看this article。它显示了如何使用OpenCV播放AVI文件。这里,使用

读取帧速率
int fps = ( int ) cvGetCaptureProperty( capture, CV_CAP_PROP_FPS );

并通过

设置延迟
key = cvWaitKey( 1000 / fps );

因此,通过控制fps变量,您可以获得所需的回放率。

答案 1 :(得分:2)

int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
int delay = 1000 / fps;

while (true) {
    clock_t startTime = clock();

    capture.read(frame);
    process();

    imshow("video", frame);

    while (clock() - startTime < delay) {
        waitKey(1);
    }
}