Opencv 视频帧.我只能看到最后一帧

Opencv video frames. I can see only last frame

本文关键字:最后 一帧 视频 Opencv      更新时间:2023-10-16

我想将视频保存在帧数组中。我的视频有 250 帧。我尝试保存视频:

Mat array[250];
Mat frame;
VideoCapture inputVideo(filename);
int index=0;
while(inputVideo.read(frame))
{
array[index] = frame;
index++;
}

但这行不通。然后我尝试在计时器内播放我的视频,我只能看到视频的最后一帧。数组[250] 的任何元素都包含最后一帧。

你可以通过以下方式获得所需的结果

Mat array[250];
VideoCapture inputVideo(filename);
int index=0;
while(inputVideo.read( array[index] ))
{
index++;
}

Mat array[250];
Mat frame;
VideoCapture inputVideo(filename);
int index=0;
while(inputVideo.read(frame))
{
array[index] = frame.clone();
index++;
}