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