将matlab中的输出图像window保存到image

Save output image in matlab window to image

我有一张图像和一些轮廓如下图所示。我想将输出保存为图像(png 或 jpg)。保存的图像只包含没有matlab的图像区域window。让我们看看我在图中的例子。你能让我用matlab实现吗?这是我制作输出图的代码

img = imread('coins.png');
mask_red=zeros(size(img));
mask_green=zeros(size(img));
mask_red(30:160,40:170)=1;
mask_green(70:100,60:130)=1;
imagesc(uint8(img),[0 255]),colormap(gray),axis off;axis equal,
hold on;
[c1,h1] = contour(mask_red,[0 0],'r','Linewidth',3);
[c2,h2] = contour(mask_green,[0 0],'g','Linewidth',3);
hold off;
%% Save output figure

使用 getframecdata 成语。如果图形是打开的,只需执行以下操作:

f = getframe;
im = f.cdata;

im 将包含作为 RGB 图像包含在框架内的图像。 运行 你的代码在你的 post,然后是上面的代码,然后做 imshow(im),我们得到:

如果要保存图像,只需使用imwrite

imwrite(im, 'coins_final.png');

图像将保存在名为 coins_final.png 的文件中。