python - 使用 PIL 加载和评估像素

标签 python python-imaging-library pixel

我想创建一个程序来加载图像中每个像素的 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/

相关文章:

c++ - OpenGl纹理: wrong Pixels

css - 舍入像素误差

html - 使用百分比填充时文本进入单独的行

python - 为什么字典比 Python 中的列表更快?

python - 如何在 Python JWT 中 token 过期时提取 JWT token 有效负载

Python kludge 将 UCS-2(UTF-16?)读取为 ASCII

python - 根据特定颜色编码的整数列表在Python中制作多个彩色线段

opencv - 使用端点和凸出距离绘制圆弧。在 OpenCV 或 PIL 中

python - X11 Tkinter + PIL + py2app = IOError 无法识别图像文件

python - 加载图形然后用它来构建 tflite?