Matlab:如何在代码中自动保存补丁/ fill()图?

时间:2011-08-16 12:30:47

标签: matlab image-processing

快速提问:我正在使用Matlab中的patch()或fill()函数创建“随机”多边形。这非常好,并且绘制得很正确。

但是,我需要至少将一些hundres多边形作为图像存储到我的硬盘驱动器以便以后使用它们 - 所以我正在寻找一种方法来直接将图像保存在我的函数中,而不是自己保存每个多边形文件菜单。

有没有办法做到这一点?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您确实可以使用print功能,但我不会使用jpeg设备。 JPEG 从不正确的绘图格式(您将在所有行附近获得大量文物)。

如果您需要位图图片,请尝试使用pngtiff设备。如果您不需要位图,请使用适当的矢量图像格式:fig是本机MATLAB格式(允许您之后编辑图),所以如果您坚持使用MATLAB,这是最好的格式你的运作。为了导出到其他软件,我建议pdf(几乎可以在任何地方工作),epsc(有颜色的EPS,非常适合LaTeX或inkscape),wmf / emf(Windows图元文件,仅适用于Windows,但非常适合在MS Office中包含图像)。或者您当然可以使用print文档中提到的任何其他格式。

有时候让图像格式正确(特别是PDF输出)会让人感到痛苦。只需查看不同的properties of your figure,更具体地说是PaperSizePaperUnitsPaperPosition

最简单的方法,我认为最好的解决方案是保存为.fig文件。您可以使用saveas

执行此操作
h = figure;
% your plot commands here
saveas(h,'mFile.fig');

之后,您可以使用openfig功能重新加载图像:

openfig('mFile.fig');

答案 1 :(得分:0)

必须添加此答案。 This function正在帮助很多。

  

此功能将图形或单轴保存为一个或多个矢量和/或位图文件格式,和/或将光栅化版本输出到工作区,具有以下属性:    - 图像/轴在屏幕上显示时再现    - 裁剪/填充边框(可选)    - 嵌入字体(仅限pdf)    - 改进了线条和网格线样式    - 抗锯齿图形(位图格式)    - 以原始分辨率渲染图像(位图格式可选)    - 支持透明背景(pdf,eps,png)    - 支持半透明补丁对象(仅限png)    - RGB,CMYK或灰度输出(CMYK仅限pdf,eps,tiff)    - 可变图像压缩,包括无损(pdf,eps,jpg)    - 可选择附加到文件(pdf,tiff)    - 矢量格式:pdf,eps    - 位图格式:png,tiff,jpg,bmp,导出到工作区