什么是像素颜色不一致?
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.
我尝试了几张图片,这两种方法返回的值完全相同。请记住 a
是 pixels
的转置。这意味着您必须使用 a[i, j]
和 pixels[j, i]
来定位相同的像素!
本程序获取像素的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.
我尝试了几张图片,这两种方法返回的值完全相同。请记住 a
是 pixels
的转置。这意味着您必须使用 a[i, j]
和 pixels[j, i]
来定位相同的像素!