Matlab Extract images from a subplot in .fig format

How can I extract images from a subplot figure. fig?
Here is the fig file drive.google.com/file/d/1fSPaYYgZBPQy0pt6Oml36NoAOEqvsWIu/… and the fig of interest is drive.google.com/file/d/1z1Tf3fyONbB0aDxX8P5r17VOV9ltCYbo/… I want to save the fig of interest into a png file. I am not very familiar with subplots just a beginner in Matlab coding thanks.
I tried with this code but it didn't give me the output I needed.
fig = openfig( 'IC_01.fig' , 'new' , 'invisible' );
imgs = findobj(fig, 'type' , 'image' );
thiscmap = get(fig, 'colormap' );
for K = 1 : length(imgs)
thisimg = get(imgs(K), 'CData' );
% now do something with it for illustration purposes
thisfilename = sprintf( 'extracted_image_%03d.jpg' , K);
imwrite(thisimg, thiscmap, thisfilename);
end
Thank You.

2 Comments

Try getimage() to get the image in the axes
imageInTheAxes = getimage(handleToAxes);
Thanks a lot for the help, it worked very well.

Sign in to comment.

 Accepted Answer

fig = openfig( 'IC_01.fig' , 'new' , 'invisible' );
imgs = findobj(fig, 'type' , 'image' );
im_wanted = imgs(4);
ax = im_wanted.Parent;
thisimage = im_wanted.CData;
thiscmap = ax.Colormap;
imwrite(thisimage, thiscmap, 'extracted_image.jpg');

More Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Release

R2021a

Community Treasure Hunt

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

Start Hunting!