首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最快的Python本机方式来操纵图像?

问最快的Python本机方式来操纵图像?
EN

Stack Overflow用户
提问于 2017-11-02 23:49:58
回答 1查看 3.4K关注 0票数 4

我正在创建一个迭代图像并进行x/y转换和缩放的进程。原始图像非常大。我的当前过程包括使用一个bash脚本(使用python)来使用著名的Imagemagick转换来创建行和行。使用转换的主要好处是,您可以将图像加载到内存中一次,然后写出每个帧。然而,这个bash脚本工作流是不可持续的,我需要一些更本地的东西。这就引出了一个问题:

  • 用于图像处理的最快的python处理库是什么?考虑到图像有多大,速度才是目标。

这就是我的研究(和一些修补)引导我的地方:

Wand (Imagemagick包装器)--理论上说,魔杖是很棒的!但是我发现没有提到能够从记忆中读取图像,这使得它非常慢。 Skimage --我很想使用Skimage作为操作的深度(尽管对我的需要过于苛刻),但是我发现使用这个API/文档非常困难。但是,您可以将图像加载到numpy数组中并获得惊人的速度(无论如何,对于Python来说),这似乎是一个令人信服的论点。 Pil -Pil的安装可能非常棘手,这在我试图部署的几个系统上造成了很多麻烦。API,虽然,它是相当容易。我听说通常远离PIL,因为这是一个持续的发展问题。 枕头-类似于上面,我遇到了一些问题,让枕头工作。我看过枕头和皮尔有冲突..。也许这就是问题所在?

我想要一些意见。

EN

回答 1

Stack Overflow用户

发布于 2017-11-03 04:53:41

对于一个评论来说,这太长了。所以我把它放在这里。

请注意,除了ImageMagick之外,我不是这些工具中的任何一个专家,但我对每个工具都做了一些尝试。

我欢迎其他人的评论或意见,他们比我更擅长这些工具。

我没有经常使用魔杖或魔杖。我不喜欢PIL,因为在我有限的经验中,它和numpy不兼容,不需要重新格式化。所以我不使用它。如果你喜欢ImageMagick转换,魔杖看起来不错。我在不同的事情上使用了Skimage和OpenCV。并将它们混合在一些Python numpy脚本中。

如果您知道ImageMagick,魔杖可能是最容易使用的。我对它的速度不太了解。见http://docs.wand-py.org/en/0.4.1/wand/image.html。我认为存在的一个魔杖限制是它缺少处理配置文件的能力。

请参阅http://pillow.readthedocs.io/en/3.1.x/reference/Image.html中的PIL,这可能是下一个最容易使用的。但是它的图像格式可能需要更改格式,以便与numpy一起工作。我不认为它像魔杖那样功能齐全.

还请参阅http://scikit-image.org/docs/dev/api/skimage.transform.html进行旋转、调整大小和仿射变换。这是下一个最容易使用的,但可能比其他两个更快。

请参见transformations.html,尽管您必须使用矩阵来完成所有这些工作。它也是非常快和有GPU的能力。

除了我发现Skimage和OpenCV比Imagemagick更快之外,我没有其他的计时经验。但是,除了我上面的评论之外,对于Imagemagick可以做的简单事情,它们没有那么直接的功能。

我认为你必须决定在编码的速度和效率方面你想要什么妥协。

如果有人知道一组编码和速度测试,比较这些工具的简单操作,如调整大小、旋转、裁剪、仿射、透视等,那么这将是有用的,我欢迎更多地了解这些比较。

我发现这些关于PIL的引用已经过时,并被枕头所取代:

http://pillow.readthedocs.io/en/3.4.x/about.html http://pillow.readthedocs.io/en/3.4.x/installation.html

还请参阅docs:https://pypi.python.org/pypi/Pillow/4.3.0 https://pillow.readthedocs.io/en/4.3.x/reference/Image.html

我还没有试过新版本的枕头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47086380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档