Save a figure as .bmp or .png WITHOUT background

조회 수: 14 (최근 30일)
MathReallyWorks
MathReallyWorks 2017년 5월 30일
댓글: Sigal Cohen 2018년 2월 25일
Hello everyone,
I have extracted this text from an image and removed all the extra parts apart from the text:
Now, I need to save this image as .bmp or .png using
saveas(gcf,'0','bmp');
But, this function saves the image in this way (i.e A white background is also included):
(Please look closely for that white background)
But, my purpose is to save this image without that white background such that it looks like this:
(I have cropped above image in a photo editor for better explanation of my problem)
Can anyone help me in achieving this?
Thanks in advance.

채택된 답변

Jan
Jan 2017년 5월 30일
Use imwrite with the image data, not imsave or saveas, which both try to save the contents of the figure.
  댓글 수: 2
MathReallyWorks
MathReallyWorks 2017년 5월 30일
편집: MathReallyWorks 2017년 5월 30일
Thanks Jan Simon.
Sigal Cohen
Sigal Cohen 2018년 2월 25일
Hi Jan Simon,
I tried to use imwrite to save without background, but I get this error:
*Error using imwrite (line 420) Expected DATA to be one of these types:
numeric, logical
Instead its type was matlab.ui.Figure.*
The figure I want to save is one of 40 figures in a for loop, and it's written as follows:
imwrite(figure(i),fullfile('D:\ISI', Exp, Acquisition,['' num2str(i) '.tif']));
So each figure is saved with chronological numbering (i=1:40).
I attached the file saved when I use the command 'saveas', with the background I don't need.
What is the problem? Can you help me please?
Thank you, Sigal.

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

추가 답변 (1개)

Rik
Rik 2017년 5월 30일
If you have the image as a binary matrix, you can use imsave to save it to file.
If you do not, you can load your current result with imread, crop it and write it out with imsave.

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by