MATLAB从视频中返回图像帧

MATLAB从视频中返回图像帧,matlab,video-processing,Matlab,Video Processing,我有一个处理视频并从中返回几个图像的函数 我在函数中创建了一个新的视频,其中包含我想要的帧并返回视频,这是我再次读取视频以处理它的下一个函数 有没有更快的方法?例如,返回带有图像的数组并读取它们?您可以将解码帧作为三维数组传递。例如,如果有两个二维帧frame1和frame2,则可以沿三维将它们连接起来,如下所示: M = cat(3, frame1, frame2); 要从三维数组中提取帧,只需指定第三个坐标。例如,要获取frame1,您可以编写: frame1 = M(:, :, 1);

我有一个处理视频并从中返回几个图像的函数

我在函数中创建了一个新的视频,其中包含我想要的帧并返回视频,这是我再次读取视频以处理它的下一个函数


有没有更快的方法?例如,返回带有图像的数组并读取它们?

您可以将解码帧作为三维数组传递。例如,如果有两个二维帧
frame1
frame2
,则可以沿三维将它们连接起来,如下所示:

M = cat(3, frame1, frame2);
要从三维数组中提取帧,只需指定第三个坐标。例如,要获取
frame1
,您可以编写:

frame1 = M(:, :, 1);

这允许您避免在函数调用之间对帧进行编码和解码的问题,并防止由于连续编码而导致的视频质量损失。

您可以将解码后的帧作为三维数组传递。例如,如果有两个二维帧
frame1
frame2
,则可以沿三维将它们连接起来,如下所示:

M = cat(3, frame1, frame2);
要从三维数组中提取帧,只需指定第三个坐标。例如,要获取
frame1
,您可以编写:

frame1 = M(:, :, 1);

这样可以避免函数调用之间的帧编码和解码问题,并防止由于连续编码而导致的视频质量损失。

您所说的“视频”是什么意思?这不只是一个解码帧的三维数组吗?我不知道怎么做。。。如何将图像添加到阵列中并从阵列中逐个读取我当前创建了一个新视频并再次将其解码为帧!我认为阵列会更简单,成本更低…你说的“视频”是什么意思?这不只是一个解码帧的三维数组吗?我不知道怎么做。。。如何将图像添加到阵列中并从阵列中逐个读取我当前创建了一个新视频并再次将其解码为帧!我认为阵列将更简单,成本更低。。。