我有一个处理视频并从中返回几个图像的功能。
我这样做是通过在包含我想要的帧的函数内创建一个新视频并返回视频,并且是我再次阅读视频以处理它的下一个功能。
有没有更快的方法呢?对于例如返回带有图像的数组并读取它们?
答案 0 :(得分:1)
您可以将解码后的帧作为3-D阵列传递。例如,如果你有两个2-D帧frame1
和frame2
,你可以沿着第三个维度连接它们,如下所示:
M = cat(3, frame1, frame2);
要从三维数组中提取帧,只需指定第三个坐标。例如,要获得frame1
,请写下:
frame1 = M(:, :, 1);
这使您可以避免在函数调用之间对帧进行编码和解码的问题,并防止因连续编码而导致视频质量下降。