当我打开一个带枕头的FULLY WHITE文件(from PIL import Image
(,然后获得所有像素的颜色时,你应该看到类似[255, 255, 255, 255, 255, 255].....
的东西,但我只看到[0, 0, 0, 0, 0, 0].....
,代码如下:
from PIL import Image
image = Image.open("index.png", "r")
pixels = list(image.getdata())
print(pixels)
您的代码不会将白色像素值转换为黑色像素。它以不同的方式表示像素值。我们可以检查它是否使用RGB颜色域将白色像素值转换为黑色像素。代码如下所示:
from PIL import Image
import numpy as np
img = Image.open("index.png") # open colour image
imgRgb = img.convert('RGB')
pixels = list(imgRgb.getdata())
width, height = imgRgb.size
pixels = np.asarray([pixels[i * width:(i + 1) * width] for i in range(height)], dtype=int)