在Matlab中自动将图形保存为图像文件

时间:2011-01-25 21:57:02

标签: matlab tiff jpeg movie figure

我在Matlab中创建了49个数字,它们都是一个接一个地自动创建的。我希望它们也会自动保存为.tif.jpg图像,其名称与其图号相对应。 我可以做吗?如果是这样,怎么样?

创建数字的代码是:

for num_picture=0:48
  ...
  figure (num_picture+1)
  imshow (screen_im)
end

...部分是screen_im的所有计算所在。

我希望这些图像能够从中创建一个电影,如果有一种方法可以自动创建电影,那么它也会很好,实际上它会更好。

2 个答案:

答案 0 :(得分:9)

您可以将当前数字保存到PRINT SAVEAS {{3}}命令的文件中,使用循环计数器生成文件名:

saveas(sprintf('img%d.tif',num_picture))

 print('-dtiff','-r300',sprintf('img%d.tif',num_picture))

答案 1 :(得分:1)

要回答第二个问题,请查看avifile()。但是,我有更好的单独保存帧(如果我没记错的话,压缩质量问题)。

要保存单个框架,您可以imwrite()print()使用-dpng或类似选项。从那里,使用sprintf()生成一个带有您的帧号的文件名,并且您已经拥有了所需的大部分内容。如果不使用Matlab的avifile(),你需要某种电影编辑程序(VideoMach等)将这些帧转换成电影。