0
我想知道为什么我应该或不应该在PIL图像上使用matplotlib图像。我知道matplotlib使用PIL来加载任何不是PNG的图像,但是将它放在PIL后端表示的一个numpy数组中的优势是什么?来自PIL.Image.open的PIL图像和NumPy图像matplotlib.image.imread之间有什么区别?
我想知道为什么我应该或不应该在PIL图像上使用matplotlib图像。我知道matplotlib使用PIL来加载任何不是PNG的图像,但是将它放在PIL后端表示的一个numpy数组中的优势是什么?来自PIL.Image.open的PIL图像和NumPy图像matplotlib.image.imread之间有什么区别?
PIL API包含执行wide range of image manipulations的功能。但是,当然,它并没有为所有可能的操作提供功能。当你有一个数学运算在PIL API中没有构建的图像上执行时,Numpy非常有用。 PIL有一个way of altering pixels一个接一个,但因为如果它依赖Python循环,它可能是一个非常缓慢的方式来处理大图像(或许多图像)。
Numpy数学运算速度相对较快,它具有表达式语法,可以使编码新的图像操作变得更容易。此外,scipy有许多额外的image manipulating functions可以应用于numpy数组。
这里有几个例子: