Opencv 快速捕获特定帧

Opencv 快速捕获特定帧,opencv,video,ffmpeg,capture,Opencv,Video,Ffmpeg,Capture,我尝试在特定时间或特定间隔从文件中捕获一帧视频,将其放入字符串中。 我设法用opencv和ffmpeg捕捉图像(如jpeg),但问题是这需要时间。我尝试在每个拍摄的图像之间几乎实时地发送这些捕获,但是速度变慢了 目前,ffmpeg和opencv中的每个图像之间的每次捕获时间为1/2秒,这相当慢 我有两个问题,我不知道如何用opencv(或ffmpeg)加速捕获,我用opencv输入捕获帧的时间码 我使用ffmpeg捕获精选频率,但不使用OpenCV 您知道如何使用OpenCV视频以足够快的速度捕

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

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

我使用ffmpeg捕获精选频率,但不使用OpenCV


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

使用此代码作为基础将帮助您获得高性能。您始终可以在
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
}