【问题标题】:Save output image in matlab window to image将matlab窗口中的输出图像保存到图像
【发布时间】:2015-05-11 11:57:14
【问题描述】:

我有一个图像和一些轮廓,如下图所示。我想将输出保存为图像(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

【问题讨论】:

  • 你想要左边还是右边的结果?试试print 并查看它的文档。
  • 我想在右边。左边是上面代码生成的输出图

标签: image matlab matlab-figure


【解决方案1】:

使用getframecdata 成语。如果图是打开的,只需这样做:

f = getframe;
im = f.cdata;

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

如果要保存图片,就用imwrite

imwrite(im, 'coins_final.png');

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

【讨论】:

  • 把上面的图片保存到图片文件中怎么样? imwrite 可以是一种选择,对吧?
  • @john2182 - 如果要保存它,请使用 imwrite。我会更新我的帖子。
  • @john2182 - 已更新。让我知道这是否适合您。
  • @john2182 - 没问题。祝你好运!
  • @john2182 - 不幸的是,这是我所知道的从图中获取图像的唯一方法。您可能需要简单地裁剪掉不需要的列......所以尝试这样做:im2 = im(:,10:end-10,:);,然后执行imwrite(im2, 'coins_final.png');
猜你喜欢
  • 2012-08-22
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2019-05-24
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多