如何在MATLAB中绘制并保存电影?

时间:2013-05-11 07:15:14

标签: matlab avi movie subplot

我在MATLAB中制作了两部电影,我试图将它们都放在同一图中并将结果保存为AVI文件。

我了解如何使用subplot()功能,但由于某种原因,它无法正常显示。到目前为止我的尝试是这样的;

f(count) = im2frame(uint8(newpic));
g(count) = im2frame(uint8(newpic));
subplot(1,2,1),movie(f,10,3); axis off; title('Damaged Image','fontweight','bold');
subplot(1,2,2),movie(g,10,3); axis off; title('Recreated Image','fontweight','bold');
movie2avi(f,'mov.avi','compression','None');
movie2avi(g,'mov.avi','compression','None');

但是生成的数字显示不正常,我实际上并不知道如何将该数字保存为AVI,我只知道如何保存单个文件。

非常感谢任何帮助,提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用getframe捕捉人物的内容并将其添加到电影中 使用getframe

的示例代码
Z = peaks;
figure('Renderer','zbuffer');
subplot(1,2,1)
surf(Z);title('first plot')
axis tight;
set(gca,'NextPlot','replaceChildren');
subplot(1,2,2);
surf(-Z);title('second plot')
axis tight;
set(gca,'NextPlot','replaceChildren');
for jj = 1:20
    subplot(1,2,1);
    surf(sin(2*pi*jj/20)*Z,Z)
    subplot(1,2,2);
    surf( -sin(2*pi*jj/20)*Z,Z);
    F(jj) = getframe;
end
movie2avi(F, 'mymov.avi', 'Compression','none');