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

Convert image to a digital matrix using python

我有一张图片 "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]...

因为是彩色图片。第三个维度是颜色。 因此

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

如果PIL打开图片为RGB。

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