我有一个图像和一些轮廓如下图。我想将输出保存到图像(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
答案 0 :(得分:2)
使用getframe
和cdata
成语。如果图形是打开的,只需执行以下操作:
f = getframe;
im = f.cdata;
im
将包含帧中包含的图像作为RGB图像。在您的帖子中运行您的代码,然后运行上面的代码,然后执行imshow(im)
,我们得到:
如果您想保存图片,只需使用imwrite
:
imwrite(im, 'coins_final.png');
图像将保存在名为coins_final.png
的文件中。