如何在matlab中生成mpg或加速gif动画

如何在matlab中生成mpg或加速gif动画,matlab,animation,movie,Matlab,Animation,Movie,我在图上画了一个随机的行走点,并试图通过getframe捕捉每一步的运动。收集完所有帧后,我用movie2avi将结果输出为avi,但输出文件太大,无法放入我的演示文稿中。我正在寻找一种方法将电影导出到mp4,有人知道吗?我还尝试使用第三方电影2GIF,它可以极大地节省大小,但当我播放gif时,在Matlab的更高版本(例如2012年)中,它看起来非常不平滑,它是通过创建和编写视频对象来完成的。例如,下面的代码生成一个随机移动的圆的电影。您可以使用帧率和质量属性调整电影的速度和大小。有关更多详细

我在图上画了一个随机的行走点,并试图通过getframe捕捉每一步的运动。收集完所有帧后,我用movie2avi将结果输出为avi,但输出文件太大,无法放入我的演示文稿中。我正在寻找一种方法将电影导出到mp4,有人知道吗?我还尝试使用第三方电影2GIF,它可以极大地节省大小,但当我播放gif时,在Matlab的更高版本(例如2012年)中,它看起来非常不平滑,它是通过创建和编写视频对象来完成的。例如,下面的代码生成一个随机移动的圆的电影。您可以使用
帧率
质量
属性调整电影的速度和大小。有关更多详细信息,请参阅


gif生成的问题是,无论您为每帧指定的速度如何,用于查看生成的gif的查看平台都可能会覆盖您的设置。这可能就是为什么生成的gif看起来“不平滑”的原因。是的,我想是的,当我将gif插入powerpoint时,更糟糕的是,一些帧在中间暂停。我正在寻找一种方法,以mp4或其他形式生成一个小尺寸的电影。非常感谢,我的matlab太旧了。但我试着在我朋友的2012版电脑上运行,效果非常好:)在早期版本中,你可以在movie2avi中使用“compression”参数进行压缩。看起来视频对象是在2010b中引入的。看这个。
vobj=VideoWriter('MyMovieFile', 'Motion JPEG AVI');
vobj.FrameRate=4;
vobj.Quality=75
open(vobj);
for i=1:100
  plot(rand,rand,'o')
  F=getframe(gcf);
  writeVideo(vobj, F);
  cla(gca)
end
close(vobj)