我想创建一个程序来加载图像中每个像素的 RGB 值并将它们保存在某种列表/字典/元组中,然后当我输入一个值时它会告诉我图像中有多少像素那个值。到目前为止,我已经阅读了整个 PIL 文档,试图找到一种可以满足我需要的方法,并且我尝试了其他几种方法,例如 .getpixel() 或 .load() 函数,但是很难保存并评估每个像素的信息。
最佳答案
首先,您需要将图像转换为“RGB”模式,以便始终获得像素的 (R, G, B) 元组,即使对于灰度/单色图像也是如此。
image = image.convert("RGB")
然后,遍历 getdata()
来构建直方图。
colors = {}
for color in image.getdata():
colors[color] = colors.get(color, 0) + 1
然后,您可以使用 get()检索给定颜色的像素数
print colors.get((255, 255, 255), 0) # No. of white pixels
关于python - 使用 PIL 加载和评估像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625984/