1

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

我这样做是通过在包含我想要的帧的函数内创建一个新视频并返回视频来实现的,这是我再次读取视频以处理它的下一个函数。

有没有更快的方法来做到这一点?例如,返回带有图像的数组并读取它们?

4

1 回答 1

1

您可以将解码的帧作为 3-D 数组传递。例如,如果您有两个 2-D 帧frame1frame2,您可以将它们沿第三维连接起来,如下所示:

M = cat(3, frame1, frame2);

要从 3-D 数组中提取帧,只需指定第三个坐标。例如,要获取frame1,您可以编写:

frame1 = M(:, :, 1);

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

于 2013-05-12T14:38:29.723 回答