将输出图像保存在matlab窗口中以保存图像

时间:2015-03-10 05:59:32

标签: image matlab matlab-figure

我有一个图像和一些轮廓如下图。我想将输出保存到图像(png或jpg)。保存的图像仅包含没有matlab窗口的图像区域。让我们在图中看到我的例子。你可以让我用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

enter image description here

1 个答案:

答案 0 :(得分:2)

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

f = getframe;
im = f.cdata;

im将包含帧中包含的图像作为RGB图像。在您的帖子中运行您的代码,然后运行上面的代码,然后执行imshow(im),我们得到:

enter image description here

如果您想保存图片,只需使用imwrite

imwrite(im, 'coins_final.png');

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