Automatic saving a figure as an image file in Matlab
Solution 1
You can save current figure into a file with PRINT of SAVEAS command generating the filename using loop counter:
saveas(sprintf('img%d.tif',num_picture))
or
print('-dtiff','-r300',sprintf('img%d.tif',num_picture))
Solution 2
To answer your second question, have a look at avifile()
. However, I've had better luck saving frames individually (compression quality issues if I recall correctly).
To save individual frames, you can use imwrite()
or print()
with a -dpng
or similar option. From there, use sprintf()
to generate a filename with your frame number in it, and you've got most of what you need. You'll need some sort of movie editor program (VideoMach, etc.) to turn those frames into a movie if you don't use Matlab's avifile(), however.
SIMEL
Updated on June 04, 2022Comments
-
SIMEL almost 2 years
I'm creating 49 figures in Matlab, they are all created automatically one after the other. I want them to also automatically be saved as
.tif
or.jpg
images with names corresponding to their figure number. Can I do it? And if so,how?the code for the creation of the figures is:
for num_picture=0:48 ... figure (num_picture+1) imshow (screen_im) end
The
...
part is where all the calculations ofscreen_im
are.I want those images in order to create a movie from them, If there is a way where I can create the movie automatically form Matlab, it would be good also, actually it will be better.