我想使用Python做一些图像处理。
是否有一种简单的方法可以导入.png
图像作为灰度/RGB值矩阵(可能使用PIL)?
我想使用Python做一些图像处理。
是否有一种简单的方法可以导入.png
图像作为灰度/RGB值矩阵(可能使用PIL)?
scipy.misc.imread()
会返回一个Numpy数组,这对于许多事情来说非常方便。
到目前为止,没有人提到过 matplotlib.image:
import matplotlib.image as img
image = img.imread(file_name)
现在的图像将是一个3D的numpy数组
print image.shape
可能是这样的:(317, 504, 3)
scipy.misc.imread()
现在已经过时了。我们可以使用imageio.imread
代替它来将其读取为Numpy数组。
一定要试试
from matplotlib.image import imread
image = imread(filename)
image.shape
对于黑白或灰度图像 一个(n,n)矩阵,其中n表示图像(像素)的尺寸,矩阵内的值范围从0到255。 通常将0视为黑色,将255视为白色。128往往是灰色!
对于彩色或RGB图像 它将呈现一个3个通道的张量。每个通道都是一个(n,n)矩阵,其中每个条目分别表示在图像内部的实际位置处红色、绿色或蓝色的级别。
scipy.misc.imread()
被废弃并不令人意外。文档建议使用imageio.imread
;任何使用PIL的选项都是可取的。 - MaxPi