如何制作一个子画的电影,其中每个子画是一个帧?

时间:2013-08-16 16:46:48

标签: matlab video matlab-figure subplot

我必须完全按照我的标题所说的去做。我有一个带有子图的图,例如3乘5。我想在子图中取出所有不同的图形,并使它们中的每一个成为一个帧(在这种情况下,15个不同的帧)。我尝试了不同的解决方案但没有任何效果例如,我试过:

writerObj = VideoWriter('try.avi');
writerObj.FrameRate = 1;
open(writerObj);
h= figure(1);

for x=1:15
    hh=subplot(3,5, x);
    frame=getframe(hh);
    writeVideo(writerObj,frame);
end
close(writerObj);

或者我试过

writerObj = VideoWriter('try.avi');
writerObj.FrameRate = 1;
open(writerObj);
h= figure(1);
fig=gcf;
axesHandles = get(gcf,'children');
for x=1:15
    hh=subplot(3,5, x);
    frame=getframe(axesHandles(x));
    writeVideo(writerObj,frame);
end
close(writerObj);

1 个答案:

答案 0 :(得分:0)

我认为问题与您首次创建轴时'PlotBoxAspectRatioMode'属性设置为'auto'有关。您需要使用axis指定轴限制或使用其他选项。如果它适合您的数据,请尝试为每个轴指定axis equal。或者也许axis square