如何导出非模糊eps图像?

Gor*_*yni 16 matlab matlab-figure

我正在使用eps格式在Matlab中导出图像,但它会使图像平滑.Matlab不会使用其他格式(如png)模糊图像.我想知道如何使用eps格式导出​​非模糊图像.这是使用png生成的图像: 在此输入图像描述

这是使用eps生成的图像: 在此输入图像描述

Amr*_*mro 11

更新:

这个问题在Mac上是可重现的,问题在于eps渲染器而不是MATLAB.例如,imagesc(rand(20))使用Preview和GSview 保存和查看结果如下:

预览截图

在此输入图像描述

GSview截图

在此输入图像描述

显然,信息不会丢失.某些EPS查看器无法正确解释/读取.解决方案很简单:使用GSview查看eps图像.你可以从这里下载

特别是在Mac上,如果你的最终应用程序是latex/pdflatex,你必须明确地将它设置为使用GS/GSview,否则,它将默认为Quartz引擎,它被引入操作系统.


以前的答案:

我无法重现您描述的行为.这是我使用的代码,在WinXP 32位上使用R2010b进行测试:

M = fspecial('gaussian',[20 20],5);
imagesc(M)
print('-dpng','a.png')
print('-depsc2','b.eps')
Run Code Online (Sandbox Code Playgroud)

a.png

a.png

b.eps

b.eps

也许这是你的EPS浏览器的问题......


小智 5

不知道为什么它有效但你可以尝试做以下事情:

eps2eps oldfile newfile
Run Code Online (Sandbox Code Playgroud)

为我做的伎俩(在mac os上)