Автоматическое сохранение фигуры в виде файла изображения в Matlab - PullRequest
4 голосов
/ 26 января 2011

Я создаю 49 фигур в Matlab, все они создаются автоматически одна за другой.Я хочу, чтобы они также автоматически сохранялись как .tif или .jpg изображения с именами, соответствующими номерам их рисунков.Могу ли я это сделать?И если да, то как?

код для создания фигур:

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

В части ... находятся все вычисления screen_im.

Я хочу эти изображения, чтобы создать из них фильм. Если есть способ, которым я могу автоматически создать фильм из Matlab, это было бы также хорошо, на самом деле это будет лучше.

Ответы [ 2 ]

9 голосов
/ 26 января 2011

Вы можете сохранить текущую фигуру в файл с помощью команды PRINT из SAVEAS , генерирующей имя файла с помощью счетчика цикла:

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

или

 print('-dtiff','-r300',sprintf('img%d.tif',num_picture))
1 голос
/ 26 января 2011

Чтобы ответить на ваш второй вопрос, взгляните на avifile().Однако мне больше повезло с сохранением кадров по отдельности (проблемы с качеством сжатия, если я правильно помню).

Для сохранения отдельных кадров можно использовать imwrite() или print() с параметром -dpng или аналогичным,Оттуда, используйте sprintf(), чтобы сгенерировать имя файла с вашим номером кадра, и вы получите большую часть того, что вам нужно.Вам понадобится какая-нибудь программа-редактор фильмов (VideoMach и т. Д.), Чтобы превратить эти кадры в фильм, если вы не используете avifile () из Matlab.

...