【问题标题】:Save exact image output from imagesc in matlab在matlab中保存imagesc的精确图像输出
【发布时间】:2013-08-16 04:02:02
【问题描述】:

您好,我想保存这张由imagesc(magic(3)) 制作的图片,准确的彩虹表示,可以吗?

谢谢。

这个问题可能看起来像重复的,但事实并非如此。我在这个站点上查看了类似问题的解决方案,但它并没有让我满意。 我查看了 Matlab 帮助中心,我得到的最接近的答案是这个,在 http://goo.gl/p907wR 的底部。

【问题讨论】:

  • 你想要的是saveas(gcf,'filename','format')吗?尝试矢量化格式为 .eps
  • @Werner:感谢您的回答,请您详细说明一下。
  • @Werner:谢谢老兄,它有效,拥抱
  • @Werner:如何摆脱轴?
  • 暂时就是这样。

标签: matlab matlab-figure


【解决方案1】:

要将图形保存为文件(不管它是如何创建的),应该这样做:

saveas(figureHandle,'filename','format')

其中 figureHandle 可以是 gcf 句柄,这意味着:获取当前图形

正如讨论中所指出的,如果有人不希望显示刻度,该人可以添加:

set(gca,'XTick',[])
set(gca,'YTick',[])

其中 gca 是当前轴的句柄,就像 gcf。如果您有多个轴,请不要忘记“处理手柄”。当您创建它们时,它们会返回给您,即:

hFig = figure(pairValuedProperties); % Create and get the figure handle
hAxes1 = suplot(2,1,1,pairValuedProperties); % Create and get the upper axes handle
hAxes2 = suplot(2,1,2,pairValuedProperties); % Create and get the bottom axes handle

其中对值是按以下语法声明的图形或坐标区属性:

'PropertyName1',PropertyValue1,'PropertyName2',PropertyValue2,…

这里是关于 FigureAxes Properties 以及关于 saveas method 的 matlab 文档。


例子:

使用以下代码保存的图像:

figure 
imagesc(magic(3))
set(gca,'XTick',[]) % Remove the ticks in the x axis!
set(gca,'YTick',[]) % Remove the ticks in the y axis
set(gca,'Position',[0 0 1 1]) % Make the axes occupy the hole figure
saveas(gcf,'Figure','png')

【讨论】:

  • 好吧,我无法避免在我的图像中显示刻度,并且图像周围有一个白色边框作为框架,这也是我不想要的。但我很满意我的学校作业有一个合理的答案。再次感谢。
  • @MotiurRahman 添加了一个示例。请注意,如果您绘制另一个图形或轴,gca 会发生变化。
  • 为努力而拥抱,您的示例有效,但我在 Archlinux 中,并且 nautilus 在图像周围设置了一个白色边框,即使我没有得到正确的轴。事情是我必须对此图像进行平均过滤,而白色边框(无法识别,因为网页是白色的)真的弄乱了我的图像(实际上是颗粒状图像,而不是上面的 3x3 图像) .所以我不得不求助于中值过滤,这还可以,但平均过滤会更好。
  • 我的图片也有白色边框。要删除它,使轴占据孔图:set(gca,'Position',[0 0 1 1])
  • 哈哈,你就是无情,我终于开心了。
【解决方案2】:

你可以使用:

print -djpeg99 'foo.jpg'

这将根据需要将其保存为“foo.jpg”。

【讨论】:

    【解决方案3】:

    您可以使用以下代码

     imagesc(A);
     %%saving the image
     hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg');
     set(gcf,'PaperUnits','inches','PaperPosition',[0 0 4 4]);
     print -djpeg filename.jpg -r10
    

    这里的 A 将是您从中获得图像的矩阵。并且图片会在目录中保存为filename.jpg。

    【讨论】:

      猜你喜欢
      • 2012-08-22
      • 2015-05-11
      • 2020-06-05
      • 2014-01-27
      • 1970-01-01
      • 2018-06-08
      • 2015-10-23
      • 1970-01-01
      • 2020-11-19
      相关资源
      最近更新 更多