getframe + frame2im + imwrite - Save figure

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.

답변 (2개)

Walter Roberson
Walter Roberson 2017년 6월 26일

0 개 추천

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

Gennaro Arguzzi
Gennaro Arguzzi 2017년 6월 26일
Hi @Walter Roberson, maybe before I need to convert figure in frame, then I assign an index using read(frame,1) and at the end I use imwrite? The problem is how can I convert figure in frame? Thank you.
imwrite(f.cdata, 'Figura 1.jpg')

댓글을 달려면 로그인하십시오.

Image Analyst
Image Analyst 2017년 6월 27일

0 개 추천

댓글 수: 1

Gennaro Arguzzi
Gennaro Arguzzi 2017년 6월 27일
Hi @Image Analyst, I'm doing that because I want to learn all ways to do the same thing in MATLAB.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Convert Image Type에 대해 자세히 알아보기

질문:

2017년 6월 26일

댓글:

2017년 6월 27일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by