什么是像素颜色不一致?

What is the inconsistency in pixels colors?

本程序获取像素的r、g、b、a值有两种方式。一种方法是转换为元组的二维数组并读取值。另一个使用默认的 PIL 方法。然而,它们给了我不同的 RGB 值读数。我尝试了一些测试来确保它们读取的是相同的像素,但它仍然给出不同的值。 (当图片有不止一种颜色时会出现这种情况)

import PIL
import numpy

from PIL import Image


image = PIL.Image.open("image.png")
pixels = image.load()
a = numpy.asarray(image)    

r, g, b, c = a[x][y]
print(str(r) + "," + str(g) + "," + str(b))
r1, g1, b1, c1 = pixels[x2,y2]
print(str(r1) + "," + str(g1) + "," + str(b1))

#print statements arent the same, they dont even add up to the same number.

我尝试了几张图片,这两种方法返回的值完全相同。请记住 apixels 的转置。这意味着您必须使用 a[i, j]pixels[j, i] 来定位相同的像素!