在matlab中制作一部复杂情节的电影

时间:2014-11-27 01:40:10

标签: matlab animation plot

我在matlab编写了一个FEA求解器。 我需要将结果绘制成电影。但由于要绘制的复杂性和大量数据,每个框架很容易需要一分钟以上的绘图。 有没有什么方法可以直接将情节的帧保存为电影,而没有matlab每隔几秒就弹出一个新的帧? 我需要将这些帧保存到电影中,matlab在后台完成工作,最后输出一个无缝的电影。

提前致谢!!

问候

1 个答案:

答案 0 :(得分:1)

您可以使用getframe()基本上抓取绘图窗口的屏幕截图,然后使用VideoWriter类将这些屏幕截图添加到您稍后可以播放的电影中。或者,您可以将getframe()的帧作为GIF输出,或者作为单个图像或其他任何内容输出帧,一旦获得这些图像。

这是一个仓促编码的例子:

fig = figure();
ax = axes('Parent', fig);

writeObj = VideoWriter('C:\path\to\your\folder\VideoName.avi');
open(writeObj);

x = 1:10;
m = 1:10;

for k = 1:numel(m)

    y = x*m(k);
    plot(ax, x, y);
    drawnow;

    frm = getframe(fig);
    writeVideo(writeObj, frm);

end

close(writeObj);
相关问题