我最近遇到了至少需要基本图像处理程度的问题,我可以在Python中执行此操作吗?
Answers:
最著名的库是PIL。但是,如果仅执行基本操作,则使用ImageMagick的Python绑定可能会更好,这比用Python编写转换要高效得多。
根据“图像处理”的含义,更好的选择可能是在基于numpy的库中:mahotas,scikits.image或scipy.ndimage。所有这些都基于numpy数组工作,因此您可以混合和匹配一个库和另一个库中的函数。
我启动了http://pythonvision.org网站,该网站提供了有关这些信息的更多信息。
scikit-image
现在托管在scikit-image.org上
scipy.ndimage
链接已死。当前链接,最有可能是:scipy.github.io/devdocs/tutorial/ndimage.html
您还可以基于“标准”科学模块来进行图像处理:SciPy有一个专门用于图像处理的完整程序包:scipy.ndimage。Scipy实际上是标准的通用数值计算软件包;它基于事实上的标准数组操作模块NumPy:图像也可以作为数字数组进行操作。对于图像显示,Matplotlib(也是“科学三部曲”的一部分)使图像显示非常简单。
SciPy仍在积极维护之中,因此对未来来说是一笔不错的投资。此外,SciPy当前也与Python 3一起运行,而Python Imaging Library(PIL)却没有。
import scipy
安装PIL而做(import Image
失败ImportError
)。
实际上有一个很棒的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