Saving Figure Data into a Matrix

39 ビュー (過去 30 日間)
Royi Avital
Royi Avital 2011 年 7 月 4 日
コメント済み: Yue 2019 年 8 月 14 日
Hello.
I'm using 'image()' to display an image. I'm adding some annotations using text.
I'd like to save the final result as matrix (3 Channels of the displayed image width and height). Something like using: OI = get(imageHandler, 'CData'); Yet which includes all the annotations I added.
I know I can use 'saveas' and 'print' yet then the data undergoes some interpolation while I want the data as it is back as a matrix.
Anyone knows how to do it?
Thanks.
  1 件のコメント
Zhiyu Xiao
Zhiyu Xiao 2019 年 7 月 14 日
Great question!

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

採用された回答

Gerd
Gerd 2011 年 7 月 4 日
Hi Royi,
you can use the getframe command.
logo = imread('Logo.jpg','jpg');
image(logo);
text(20,30,'Hello')
f=getframe(gcf)
new=f.cdata
imwrite(new,'new.jpg','JPEG')
Gerd
  3 件のコメント
Yue
Yue 2019 年 8 月 14 日
I met the same question.Have you solved this problem? Looking forward to your answer.
Yue
Yue 2019 年 8 月 14 日
I solved this problem just now.
You can try gca command.It returns the current figure or image.
Example:
Frame = getframe(gca);
FrameData = Frame.cdata;
imshow(FrameData)
imwrite(FrameData,'teat.png','PNG');

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

その他の回答 (1 件)

Leslie Solorzano
Leslie Solorzano 2016 年 12 月 16 日
https://se.mathworks.com/help/matlab/ref/frame2im.html

カテゴリ

Help Center および File ExchangeImages についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by