Python中的图像处理?
我最近遇到了一个问题,需要进行一些基本的图像处理。我想知道我能不能用Python来解决这个问题,如果可以的话,我应该用什么工具呢?
8 个回答
19
你也可以使用一些“标准”的科学模块来处理图像。比如,SciPy 就有一个专门处理图像的包,叫做 scipy.ndimage。SciPy 实际上是一个通用的数值计算包,它是基于一个大家都在用的数组处理模块 NumPy。这意味着图像也可以被看作是一组数字的数组来处理。至于显示图像,Matplotlib(也是“科学三部曲”的一部分)让显示图像变得 相当简单。
SciPy 目前仍在积极维护,所以它是一个值得投资的未来选择。此外,SciPy 现在也可以在 Python 3 上运行,而 Python 图像库(PIL)则不支持。
46
根据你对“图像处理”的理解,可能更好的选择是一些基于numpy的库,比如mahotas、scikits.image,或者scipy.ndimage。这些库都是基于numpy数组工作的,所以你可以把一个库的函数和另一个库的函数混合使用。
我创建了一个网站http://pythonvision.org,里面有更多关于这些库的信息。
53
最知名的库是 PIL。不过,如果你只是想做一些基本的图像处理,使用 ImageMagick 的 Python 绑定会更好,这样比起用 Python 自己写转换代码要高效得多。