繁体   English   中英

使用 OpenCV 播放视频以校正速度

[英]Playing video to correct speed with OpenCV

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

#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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM