MATLAB:在“saveas”函数中删除白色背景

MATLAB:在“saveas”函数中删除白色背景,matlab,image-processing,matlab-figure,Matlab,Image Processing,Matlab Figure,我正在使用imcrop在Matlab2013a中裁剪一幅图像,并使用函数saveas保存它。我面临的问题是,白色背景与图像一起保存,尽管imshow显示的图只显示没有白色背景的图像。需要帮助删除白色背景吗 代码: 这个适合我 I1=imread('Jellyfish.jpg'); I=imshow('Jellyfish.jpg'); h=imrect(gca,[0 0 270 125]); pause pos=getPosition(h); s=imcrop(I1,pos); na='Jell

我正在使用imcrop在Matlab2013a中裁剪一幅图像,并使用函数saveas保存它。我面临的问题是,白色背景与图像一起保存,尽管imshow显示的图只显示没有白色背景的图像。需要帮助删除白色背景吗

代码:


这个适合我

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);

解决方案:将imwrite与H.CData或s一起使用

尝试imwrite Its a figure没有图像数据矩阵按照Yvon的建议进行imwrite,或者如果您有理由需要将图像保存为显示在figure窗口中的图像,然后设置轴大小以填充图形窗口尝试getframe,然后imwrite@AnderBiguri这不会消除轴周围的“空白”吧?
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);