如何解释numpy数组中的PIL图像

时间:2018-09-03 18:51:16

标签: numpy python-imaging-library

我正在尝试了解将图像转换为numPy的输出

im = Image.open('flower1.jpg')
npimg = np.array(im)
npimg

输出

([[[127, 151,  89],
        [125, 149,  87],
        [125, 149,  87],
        ..., 
        [117, 142,  76],
        [115, 141,  73],
        [113, 140,  71]],...

我不知道从此输出中了解什么?有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

打印的值是:

([[[127, 151,  89],
 ^ a list of rows
  ^ where each row is a list of pixels
   ^ where each pixel is a list of values that correspond to RGB
     (or RGBA, or L, etc... depending on the image format)

您可以通过访问.shape成员来看到numpy数组的形状。

答案 1 :(得分:1)

看下面的图片。 enter image description here

在放大版本中,图像是按行和列排列的许多像素颜色。图像中的每个点或像素都是红色,蓝色和绿色通道的阵列。

如果尝试使用npimg.shape,则会得到3个数字集,类似于(500,600,3),这意味着图像中的每个像素有500行,600列和3种颜色。

答案 2 :(得分:0)

这是一个nxmx3数组,其中nxm是图像的分辨率,而3个是红色,绿色,蓝色通道。数据类型为uint8:每个颜色通道的值范围在0到255之间。