【问题标题】:Quick capture of a specific frame快速捕捉特定帧
【发布时间】:2013-06-10 00:45:01
【问题描述】:

我尝试在特定时间或以特定时间间隔从文件中捕获一帧视频以将其放入字符串中。 我设法用 opencv 和 ffmpeg 捕获图像(作为 jpeg),但问题是它需要时间。我尝试在每个捕获的图像之间几乎实时发送这些捕获,但是速度变慢了 目前ffmpeg和opencv中的每张图片每次抓包之间,有1/2秒的时间,比较慢。

我有两个问题,我不知道如何使用 opencv(或 ffmpeg)加速捕获,我使用 opencv 到达捕获帧的时间码。

我使用 ffmpeg 捕获选择的频率,但没有使用 OpenCV。

您是否知道如何使用所有 X 毫秒的 OpenCV 视频或任何其他足够快的捕获解决方案来捕获图像?

【问题讨论】:

    标签: opencv video ffmpeg capture


    【解决方案1】:

    使用此代码作为基础将帮助您获得高性能。 waitKey() 中的时间可以一直玩,但参数为 0 会导致错误。

    VideoCapture capture(filename);
    Mat frame;
    
    if( !capture.isOpened() )
        throw "Error when reading steam_avi";
    
    //namedWindow( "w", 1);
    for(;;)
    {
        capture >> frame;
        if(frame.empty())
            break;
        waitKey(20); // waits to display frame
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多