81

我最近遇到了一个至少需要基本图像处理程度的问题,我可以在 Python 中做到这一点,如果可以,用什么?

4

8 回答 8

53

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

于 2008-09-18T17:54:46.410 回答
46

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

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

于 2011-04-22T21:11:58.293 回答
19

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

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

于 2010-05-05T09:19:55.670 回答
11

完成列表:opencv http://opencv.willowgarage.com/documentation/python/index.html

于 2011-09-28T05:43:26.597 回答
7

还有pycairo,这可能更适合您的需要。

于 2009-11-29T08:53:51.187 回答
6

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

于 2008-09-18T17:47:13.823 回答
4

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

于 2008-09-19T05:39:11.380 回答
3

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

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

于 2011-10-10T10:56:03.753 回答