getframe + frame2im + imwrite - Save figure

17 ビュー (過去 30 日間)
Gennaro Arguzzi
Gennaro Arguzzi 2017 年 6 月 26 日
コメント済み: Walter Roberson 2017 年 6 月 27 日
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 日
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.
Walter Roberson
Walter Roberson 2017 年 6 月 27 日
imwrite(f.cdata, 'Figura 1.jpg')

サインインしてコメントする。


Image Analyst
Image Analyst 2017 年 6 月 27 日
  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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by