来自PIL.Image.open的PIL图像和NumPy图像matplotlib.image.imread有什么区别?

时间:2013-02-09 22:38:05

标签: python matplotlib python-imaging-library

我想知道为什么我应该或不应该在PIL图像上使用matplotlib图像。我知道matplotlib使用PIL来加载任何不是PNG的图像,但是在PIL后端表示中将它置于numpy数组中有什么好处?

1 个答案:

答案 0 :(得分:1)

PIL API包含执行wide range of image manipulations的功能。但是,它当然不能为所有可想到的操作提供功能。当您对未包含在PIL API中的图像执行数学运算时,Numpy非常有用。 PIL一个接一个地way of altering pixels但是因为如果它依赖于Python循环,那么操作大图像(或许多图像)的速度非常慢。

Numpy数学相对较快,它有一个富有表现力的语法 可以使编码新图像操作更容易。此外,scipy还有许多额外的image manipulating functions,可以应用于numpy数组。

以下是一些例子: