从EPS文件中提取图像数据

5

我有一个封装的PostScript文件,似乎只包含了图像文件。

是否有工具可以从中提取图像数据?


1
你能告诉我们从哪里下载并尝试吗? - Mark Setchell
2个回答

4
"convert"使用ghostscript来渲染eps文件,然后继续使用渲染后的位图;这样做使得很难恢复原始图片,在大多数情况下,你会得到一个重新采样过的图片。
我明白你希望以原始分辨率输出图片。但是,我没有直接的方法可以提供给你。不过,如果你想从pdf文件中获取图片,你可以使用pdfimages命令。假设你正在运行Linux系统(或者在cygwin上)。
ps2pdf file.eps
pdfimages file.pdf basename

这将给你一个basename.pnm或basename.ppm文件。使用convert将其转换为jpeg或png格式。如果在.eps文件中有一种有损格式(如jpg),则这将重新编码jpg,因此不可避免地会有一些附加的损失。

convert basename.pnm file.jpg

或者

convert basename.ppm file.png

p.s. 这个问题中的文件已不再可用。但是,本回答可能仍对其他人有帮助。


0

ImageMagick可以做到这一点:

convert file.eps file.jpg

或者你可以这样做

convert file.eps file.png
convert file.eps file.tif

ImageMagick可以在这里下载。

example image


我想保留EPS文件中的原始数据。我如何知道嵌入文件的格式? - Nico Schlömer
我不明白 :-) 你指的是哪些数据?你肯定已经在EPS文件中有原始图像数据了吧? - Mark Setchell
我还是不太明白 :-) 如果你随后需要以不同的格式使用数据,只需按照我展示的方式将其提取到该格式即可。如果你想出于某种原因查看EPS文件,可以使用 strings file.eps | more 命令,这样你就能看到所有细节了。 - Mark Setchell
1
我认为EPS可以封装许多不同的图像文件。我想提取存储在EPS中的任何图像文件,而不会丢失信息。如果封装了PNG并将其转换为JPG,则会丢失信息。我不希望这样。 - Nico Schlömer
我的观点是你不会失去信息,因为你仍然有EPS文件,如果你以后希望用不同的方式提取它,你可以。 - Mark Setchell
显示剩余2条评论

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