如何将图像中每个像素的 RGB 值导入一维数组?
我正在使用以下东西:
from PIL import Image
im = Image.open("bride.jpg")
pix = im.load()
print pix[x,y]
这会将其导入到不可迭代的二维数组中。我想要同样的东西,但在一维数组中。
如何将图像中每个像素的 RGB 值导入一维数组?
我正在使用以下东西:
from PIL import Image
im = Image.open("bride.jpg")
pix = im.load()
print pix[x,y]
这会将其导入到不可迭代的二维数组中。我想要同样的东西,但在一维数组中。
您可以将像素展平为一维数组,如下所示:
width, height = im.size
pixels = [pix[i, j] for i in range(width) for j in range(height)]
如果您使用的是 numpy,则很容易,并且无需加载图像。
from PIL import Image
import numpy as np
im = Image.open("bride.jpg")
pix_flatiter = np.asarray(im).flat # is an iterable
如果要加载整个数组,可以执行以下操作:
pix_flat = np.asarray(im).flatten() # is an array