【问题标题】:Extract image data from EPS从 EPS 中提取图像数据
【发布时间】:2014-09-29 17:32:42
【问题描述】:

我有一个 encapsulated PostScript 文件,它似乎只包装了一个图像文件。

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

【问题讨论】:

  • 你能给我们指出一个我们可以下载并尝试的地方吗?

标签: image extract eps


【解决方案1】:

ImageMagick 可以做到这一点:

convert file.eps file.jpg

或者你可以这样做

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

ImageMagick 可用here

【讨论】:

  • 我想保留 EPS 文件中的原始数据。我怎么知道嵌入的文件格式?
  • 我不明白 :-) 你指的是哪个数据?确定您已经在 EPS 文件中拥有原始图像数据了吗?
  • 确实如此。它可以嵌入为 JPG、PNG 或许多其他格式。我想提取确切的数据。使用convert,我必须无条件地指定输出格式如何存储在 EPS 中。
  • 我还是不明白 :-) 如果您随后需要不同格式的数据,只需将其解压缩为我展示的那种格式。如果你出于某种原因想查看 EPS 文件,可以使用strings file.eps | more,你会看到所有血淋淋的细节。
  • 我的印象是 EPS 可以封装许多不同的图像文件。我想提取存储在 EPS 中的任何图像文件,而不会丢失信息。如果封装了 PNG 并且我将 convert 转换为 JPG,我会丢失信息。我不想那样。
【解决方案2】:

"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

附言问题中的文件不再可用。但是,其他人可能仍然会对这个答案感兴趣。

【讨论】:

    猜你喜欢
    • 2011-02-04
    • 2017-08-18
    • 2020-05-01
    • 2013-01-09
    • 2013-05-14
    • 2012-09-24
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多