【发布时间】:2013-08-16 16:46:47
【问题描述】:
我必须完全按照我的标题所说的去做。我有一个带有子图的图形,例如 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);
【问题讨论】:
-
我尝试在代码中做一些小调整,将每一帧保存在一个称为帧的向量中,然后在电影(帧)中播放所有内容。这种工作,但并不完美,并给我一个很好的提示,为什么我以前的方式行不通。似乎不同的子图大小不同。我不明白为什么会这样。有人知道吗?
-
请告诉我们为什么这些不起作用?有什么问题或错误?是因为您的框架/轴的大小不同吗?
-
对不起,我应该这么说的。是的,这是报告给 matlab 的问题。但是轴的大小应该相同。我现在在想问题可能是我给轴的值是双倍的,所以也许 matlab 可以以一种奇怪的方式修改每个子图的轴,使其不总是相同的?
标签: matlab video matlab-figure subplot