【问题标题】:Image Processing, In Python? [closed]图像处理,在 Python 中? [关闭]
【发布时间】:2010-09-10 19:51:10
【问题描述】:

我最近遇到了一个至少需要基本图像处理程度的问题,我可以在 Python 中执行此操作吗?如果可以,使用什么?

【问题讨论】:

标签: python image image-processing image-manipulation


【解决方案1】:

VIPS 应该很快并且使用多个 CPU:

https://github.com/libvips/libvips/wiki/Speed-and-memory-use

【讨论】:

    【解决方案2】:

    根据“图像处理”的含义,更好的选择可能是基于 numpy 的库:mahotasscikits.imagescipy.ndimage。所有这些工作都基于 numpy 数组,因此您可以混合和匹配来自一个库和另一个库的函数。

    我创建了网站http://pythonvision.org,其中包含有关这些的更多信息。

    【讨论】:

    • “scikits.image SciKit(SciPy 工具包)扩展了 scipy.ndimage 以提供一组通用的图像处理例程。”我想知道为什么他们不直接为 ndimage 做出贡献。
    • 所有这些包都有不同的内部结构。不过,至少我的包 mahotas 从 ndimage 中获取了很多代码。
    • scikit-image 现在托管在 scikit-image.org
    • 谢谢。更新了我的答案
    • scipy.ndimage 链接已失效。当前链接,很可能是:scipy.github.io/devdocs/tutorial/ndimage.html
    【解决方案3】:

    您还有一种基于“标准”科学模块的图像处理方法:SciPy 有一个专门用于图像处理的完整软件包:scipy.ndimage。 Scipy 实际上是标准的通用数值计算包;它基于事实上的标准数组操作模块NumPy:图像也可以作为数字数组进行操作。至于图像显示,Matplotlib(也是“科学三部曲”的一部分)使显示图像quite simple

    SciPy 仍在积极维护中,因此它是对未来的良好投资。此外,SciPy 目前也可以与 Python 3 一起运行,而 Python Imaging Library (PIL) 则不能。

    【讨论】:

    • 为了将来参考,ndimage 无论如何都需要 PIL。
    • @notJim:是吗? PIL 未在 MacPorts 的 SciPy 依赖项中列出,我可以在不安装 PIL 的情况下执行 import scipyimport Image 失败并出现 ImportError)。
    • 是的,当我尝试使用 ImRead 读取图像时,出现错误“raise ImportError("Could not import the Python Imaging Library (PIL)"”
    • @notJim:SciPy 确实依赖 PIL 进行图像读取(我尝试使用“简单”JPEG 文件,但它与您的示例一样失败)。 SciPy 仍然可以在没有 PIL 的情况下进行图像处理(PIL 是一个可选依赖项)。
    【解决方案4】:

    【讨论】:

    【解决方案5】:

    还有pycairo,根据你的需要可能更合适。

    【讨论】:

      【解决方案6】:

      如果您正在创建自定义图像处理效果,您可能会发现 PythonPixels 很有用。 http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html 它旨在用于编写和试验图像处理。

      【讨论】:

        【解决方案7】:

        最著名的图书馆是PIL。但是,如果您只是简单地进行基本操作,那么使用ImageMagick 的 Python 绑定可能会更好,这将比在 Python 中编写转换更有效。

        【讨论】:

        • 我认为你已经落后了:PIL 只提供绝对最基本的准系统功能,但它确实很好地集成到 Python GUI。 IM 功能非常全面,但需要一些手动工作来回交易缓冲区才能与 GUI 集成。
        • 让我们这样说吧,可悲的是,PIL 接缝是废弃的软件,它甚至不加载使用 Paint 创建的 BMP 文件。如果您检查项目网页,您会发现它,寻找错误跟踪器(无),邮件列表活动,SCM,...
        • Pillow 是 PIL 的一个分支,正在维护和开发中。改用它可能会更好。
        【解决方案8】:

        其实有一个很棒的Python Imaging Library (PIL)。它使您能够更改现有图像,包括抗锯齿功能,并使用文本等创建新图像。您还可以在上述网站提供的 PIL 手册中找到decent introductory tutorial

        【讨论】:

        • 在问这个问题之前你用过谷歌吗? :-) 我并不是说你应该,只是在不到一分钟的时间内回答你自己的问题似乎有点好笑。
        • 这个网站的整个想法是提供(问题,答案)对,作为搜索主题的人的有用信息。如果您发现了一些您以前不知道的有用的东西,并且它还没有出现在网站上,我们鼓励您与 StackOverflow 分享它。
        • 来自常见问题解答:提出并回答您自己的编程问题也很好,但假装您处于危险之中:以问题的形式表达它。虽然,我认为任何有需要的人都可以通过谷歌搜索轻松快速地回答这个问题......
        • @MartinW - 我通过谷歌搜索找到了这个问题
        猜你喜欢
        • 1970-01-01
        • 2011-02-24
        • 1970-01-01
        • 2013-01-13
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 2013-11-06
        • 2012-03-08
        相关资源
        最近更新 更多