如何使用MATLAB将图像转换为EPS文件而不留下任何边距?

3
我正在使用以下脚本将图像转换为EPS文件。
%% Image 2 eps file.
% - img: the image.
% - eps: eps filename.
function Image2Eps(img, eps)
    imshow(img,'border','tight','InitialMagnification',100);
    print(gcf,'-depsc',eps);
end

生成的文件几乎紧密地绑定了图像。但是在顶部和右侧始终留下一小部分边距。如何使EPS文件完全与位图图像大小相同?


2
你为什么要用Matlab来完成这个任务?为什么不使用“gs”呢? - Shai
1
这是文档中相关的注释,或许可以帮助:注意:如果图像非常小,或者在图形中除了图像和它的轴之外还有其他对象,则仍然可能存在边框。 除了防止它发生,您也可以事后删除边框吗? - Dennis Jaheruddin
Shai:你能否提供一些有关使用Ghostscript将位图图像转换为EPS的更多想法?可以给出一个演示用的命令行吗? - Richard Dong
1个回答

0

如果你不是固定使用Matlab的话,你可以使用Image Magick进行转换。我在命令行中使用了它:

imgtops2.exe imge.ppm -e -c 0,0 -o image.eps

我在Windows机器上使用它,但我相信他们也有其他操作系统的可用二进制文件。

此外,一旦您在dosshell中拥有工作命令行,您可以使用systemdosunix命令从Matlab调用它。

附:

我使用的是旧版本的ImageMagick,在更近期的发布版本中,他们可能已将imgtops2更改为convert,您需要查看他们的文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接