getframe + frame2im + imwrite - Save figure
Afficher commentaires plus anciens
Hi everyone. I'd like to save a figure using statements getframe+frame2im+imwrite (without print statement). Is it possible to do it? I wrote the following code:
close all
clear all
t=[0:0.1:10];
x=t;
plot(t,x)
f=getframe(gcf);
[X,Map]=frame2im(f);
a=imwrite(X,'Figura 1.jpg')
but there is the error:
Error using imwrite Too many output arguments.
Error in Untitled2 (line 8) a=imwrite(X,'Figura 1.jpg')
Thank you very much.
Réponses (2)
Walter Roberson
le 26 Juin 2017
0 votes
imwrite() has no outputs. It just creates the file. If for some reason you want to load the content of the file back in to compare to the data in X that you wrote out, then use imread() on the file.
Note: .jpg files will rarely compare exactly equal to the original data, because JPEG loses information as it compresses data.
2 commentaires
Gennaro Arguzzi
le 26 Juin 2017
Walter Roberson
le 27 Juin 2017
imwrite(f.cdata, 'Figura 1.jpg')
Image Analyst
le 27 Juin 2017
0 votes
Why are you doing all that? If you just want to save your axes as a picture file, use saveas(), or better yet, export_fig().
1 commentaire
Gennaro Arguzzi
le 27 Juin 2017
Catégories
En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!