how to save the content of the current figure as an image?

조회 수: 113 (최근 30일)
Nisreen Sulayman
Nisreen Sulayman 2014년 9월 18일
댓글: Raviteja Vangara 2020년 5월 12일
how to save the content(which is an image) of the current figure as an image?
I have about 30 figure ...
I want to use MATLAB commands to save them in for loop

채택된 답변

Mohammad Abouali
Mohammad Abouali 2014년 9월 19일
편집: Mohammad Abouali 2014년 9월 19일
saveas(gcf,'filename.png')
would also work.
or something like this
for i=1:30
% code to show image number i
saveas(gcf,['filename' num2str(i) '.png']);
end
if you don't like the border around it type:
iptsetpref('ImshowBorder','tight');
before preparing your figure.
  댓글 수: 3
Nisreen Sulayman
Nisreen Sulayman 2014년 9월 19일
I want to get ride of the white
frame in the image and save only the image
Mohammad Abouali
Mohammad Abouali 2014년 9월 26일
편집: Mohammad Abouali 2014년 9월 26일
Cool image. What are these? blood stream?
Anyway, so you can use fullfile() command. Something like this should work
DirectoryPath ='C:\Mystorage\myImages';
whereToStore=fullfile(DirectoryPath,['filename' num2str(i) '.png']);
saveas(gcf, whereToStore);
If you wanna make it more fancy you can have the user select the folder through a GUI like this
DirectoryPath = uigetdir();
if DirectoryPath~=0
whereToStore=fullfile(DirectoryPath,['filename' num2str(i) '.png']);
saveas(gcf, whereToStore);
end

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

추가 답변 (3개)

Francesco Ciriello
Francesco Ciriello 2019년 11월 20일
Save current figure
imwrite(getframe(gcf).cdata, 'myfilename.png')
Save current axis
imwrite(getframe(gca).cdata, 'myfilename.png')
  댓글 수: 1
Raviteja Vangara
Raviteja Vangara 2020년 5월 12일
I think this deserves an upvote. I have an image with alpha data, and traditional saveas options wouldnt store alpha data in saved PNG file.
using,
H = getframe(gca)
imwrite(H.cdata, 'myfilename.png')
This saves current figure as it appears on the window.

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


Mikhail
Mikhail 2014년 9월 18일
If you want to save in with your hands - just click file-> save figure.
  댓글 수: 1
Nisreen Sulayman
Nisreen Sulayman 2014년 9월 18일
I have about 30 figure ...
I want to use MATLAB commands to save them in for loop

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


Image Analyst
Image Analyst 2014년 9월 18일
Use imwrite() if you just want to save the image you display. If you want to save the axes or figure, use export_fig(). http://matlab.wikia.com/wiki/FAQ#How_do_I_save_my_figure.2C_axes.2C_or_image.3F_I.27m_having_trouble_with_the_built_in_MATLAB_functions.
  댓글 수: 2
Nisreen Sulayman
Nisreen Sulayman 2014년 9월 19일
편집: Nisreen Sulayman 2014년 9월 19일
Thank you how to save them to specific folder(path)using MATLAB command?
Image Analyst
Image Analyst 2014년 9월 19일
Just use fullfile() when you construct the file name that you pass in to export_fig().

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

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by