MATLAB Answers

Saving Figure Data into a Matrix

150 views (last 30 days)
Royi Avital
Royi Avital on 4 Jul 2011
Commented: xinyue L on 14 Aug 2019
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.

Accepted Answer

Gerd
Gerd on 4 Jul 2011
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 Comments
xinyue L
xinyue L on 14 Aug 2019
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');

Sign in to comment.

More Answers (1)

Leslie Solorzano
Leslie Solorzano on 16 Dec 2016
https://se.mathworks.com/help/matlab/ref/frame2im.html

Tags

Products

Community Treasure Hunt

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

Start Hunting!