图像处理,使用Python?

图像处理,使用Python?

Image Processing, In Python?

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


最著名的库是PIL。但是,如果仅执行基本操作,则使用ImageMagick的Python绑定可能会更好,这比用Python编写转换要高效得多。


根据"图像处理"的含义,一个更好的选择可能是在基于numpy的库中:mahotas,scikits.image或scipy.ndimage。所有这些都是基于numpy数组进行的,因此您可以混合和匹配一个库和另一个库中的函数。

我启动了http://pythonvision.org网站,该网站提供了有关这些信息的更多信息。


您还可以基于"标准"科学模块来进行图像处理:SciPy有一个专门用于图像处理的完整程序包:scipy.ndimage。 Scipy实际上是标准的通用数值计算软件包;它基于事实上的标准数组处理模块NumPy:图像也可以作为数字数组进行处理。对于图像显示,Matplotlib(也是"科学三部曲"的一部分)使图像显示非常简单。

SciPy仍在积极维护之中,因此对未来来说是一笔不错的投资。此外,SciPy当前也可以在Python 3上运行,而Python Imaging Library(PIL)则没有。


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


还有pycairo,根据您的需求可能更合适。


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


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


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

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


推荐阅读