我有一张图片" 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]
...
答案 0 :(得分:5)
因为它是彩色图像。第三个维度是颜色。 从而
r = arr[:,:,0]
g = arr[:,:,1]
b = arr[:,:,2]
如果PIL将图像打开为RGB。
这意味着点(x,y)处的红色像素为[255,0,0],白色像素为[255,255,255]。