2017-03-17 37 views
0

我正在使用函数saveas在matlab 2013a中裁剪图像并保存它。我面临的问题是,白色背景会与图像一起保存,尽管imshow显示的图只显示没有白色背景的图像。需要帮助以消除白色背景MATLAB:删除'saveas'函数中的白色背景

CODE:

clc 
clear all 
close all 
I1=imread('IMG_1956.jpg'); 
I=imshow('IMG_1956.jpg'); 

h=imrect(gca,[0 0 270 125]); 
pause 
pos=getPosition(h); 
s=imcrop(I1,pos); 
na='IMG_1956.jpg'; 
na=na(1:end-4); 
fi=strcat(na, '_.png'); 
H=imshow(s) 
saveas(H,fi); 
+0

尝试'imwrite' https://www.mathworks.com/help/matlab/ref/imwrite.html – Yvon

+0

它是一个数字不具有的图像数据矩阵 –

+0

按照Yvon的建议尝试'imwrite',或者如果您有理由需要将图像保存在图形窗口中,然后设置轴大小以填充图形窗口 –

回答

1

这一个为我工作。

I1=imread('Jellyfish.jpg'); 
I=imshow('Jellyfish.jpg'); 

h=imrect(gca,[0 0 270 125]); 
pause 
pos=getPosition(h); 
s=imcrop(I1,pos); 
na='Jellyfish.jpg'; 
na=na(1:end-4); 
fi=strcat(na, '_.png'); 
H=imshow(s) 
imwrite(s,fi); 

解决方案:使用imwriteH.CDatas