使用 OpenCV 以正确的速度播放视频

2023-12-05

我在播放视频文件时遇到问题,为什么是慢动作? 怎么才能让它正常速度呢?

#include"opencv2/opencv.hpp" 
using namespace cv; 

int main(int, char**) 
{ 
    VideoCapture cap("eye.mp4"); 
    // open the default camera 
    if (!cap.isOpened()) 
        // check if we succeeded 
        return -1; 

    namedWindow("Video", 1); 
    while (1) 
    { 
        Mat frame; 
        cap >> frame; 
        imshow("Video", frame); 
        if (waitKey(10) == 'c') 
            break; 
    } 
    return 0; 
}

VideoCapture不是为播放而构建的,它只是一种从视频文件或相机中抓取帧的方法。其他支持播放的库,例如GStreamer或Directshow,它们设置一个控制播放的时钟,以便可以将其配置为尽可能快地播放或使用原始帧速率。

在您的代码片段中,帧之间的间隔来自读取帧和帧之间的时间waitKey(10)。尝试使用waitKey(0),至少应该播放得更快。理想情况下,你可以使用waitKey(1/fps).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OpenCV 以正确的速度播放视频 的相关文章

随机推荐