使用python将图像转换为数字矩阵

时间:2015-01-28 13:26:10

标签: python arrays numpy python-imaging-library

我有一张图片" felix.png" (280x280图片)。

我将此图像转换为数字矩阵:

from PIL import Image
from numpy import array




img = Image.open('felix.png')
arr = array(img)

这个数组的形状是(280,280,3),我想知道为什么每个像素用3维数组表示?

例如arr[0][0][255,255,255] ...

1 个答案:

答案 0 :(得分:5)

因为它是彩色图像。第三个维度是颜色。 从而

r = arr[:,:,0]
g = arr[:,:,1]
b = arr[:,:,2]

如果PIL将图像打开为RGB。

这意味着点(x,y)处的红色像素为[255,0,0],白色像素为[255,255,255]。