MATLAB:删除 'saveas' 函数中的白色背景

MATLAB: Remove white background in 'saveas' function

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

代码:

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

这个适合我。

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

一起使用