PIL图像打开将白色像素转换为黑色像素



当我打开一个带枕头的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)

相关内容

  • 没有找到相关文章

最新更新