【问题标题】:What is difference between PIL and ImageMagick bindings for python? [closed]python的PIL和ImageMagick绑定有什么区别? [关闭]
【发布时间】:2013-01-17 21:07:47
【问题描述】:

我研究了使用 python 缩放图像(创建缩略图)的不同方法。谁能解释我在ImageMagick 过程和PIL 过程之后结果图像的根本区别。 乍一看,没有任何功能齐全的 ImageMagick binding for python。我见过一些解决方案,但其中大多数似乎很差(功能或文档差,API 差)。另一方面,我读到 PIL 在调整 GIF 图像大小时存在一些问题。并且 PIL 处理后的结果图像质量比使用 ImageMagick 的类似效果差。 你怎么看?

【问题讨论】:

  • PIL 有很好的文档记录,并且易于使用。 ImageMagick 是一款令人头疼的猜谜游戏。
  • @fraxel 是的,PIL 文档非常好。但我很感兴趣,生成的图像有什么区别?
  • 根本区别在于……它们是根本不同的库,多年来为不同的社区独立设计。如果您有一个特定的问题,或者甚至想要针对特定​​用例的建议,那是一回事,但如果您只是要求进行一般的比较和对比,那么 SO 绝对不适合这样做。
  • @abarnert 好的,在我的问题的第一句话中,我写道我对缩放操作/创建缩略图的结果很感兴趣
  • @Dmitry:您有具体问题吗?我拍摄了一个 512x512 的 GIF,按照 PIL 教程 (im = Image.open('foo512.gif'); im.thumbnail((200,200)); im.save('foo200.gif')) 并使用 PythonMagick 和 IM 的命令行 convert 做了最简单的等效操作,并并排查看了结果……它们看起来都很漂亮好的。您是否有源图像和一些代码在 PIL 中给您带来不好的结果,您认为 IM 可能会做得更好?

标签: python image imagemagick python-imaging-library


【解决方案1】:

我在工作中使用 IM 构建了一个缩略图生成器。 IM 的优点在于能够处理大量文件类型。我不得不用它来生成 pdf 和电影缩略图。使用 IM 的缺点是,我用 IM 构建弹出式界面的时间比我在缩略图生成器的其他部分上花费的时间要多得多。

PIL 可以与 pyffmpeg 之类的东西一起使用,但看起来这种组合不像 IM 那样功能齐全,这就是我过去不使用它的原因。如果您可以使用 PIL,我建议您使用 PIL,但如果您需要为更奇特的文件类型生成缩略图,或者您对 PIL 的质量不满意,那么 IM 肯定是可行的。

【讨论】:

  • 您几乎从不——甚至可能从不——需要popen 接口用于IMPythonMagick 有足够多的功能来生成缩略图,还有更多。如果您需要超出此范围,可以随时扩展PythonMagick 或使用ctypesCython 直接点击libMagick
猜你喜欢
  • 2020-12-29
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多