首页 > 解决方案 > 使用python PIL获取特定颜色像素的x,y值

问题描述

我真的很难理解如何使用 PIL 操作图像。我正在尝试返回与某种颜色匹配的所有像素的 x 和 y 坐标。所以在伪代码中:

img = ImageGrab.grab(bbox)
pixels = img.getdata()
for i in range(len(pixels)):
    if pixels[i] == (255, 0, 0, 255) # red for example:
        coords.append(pixels[i].x)
        coords.append(pixels[i].y)

我根本不知道如何在附加 x 和 y 的最后一点。有这个功能吗?

谢谢!

标签: pythonpython-imaging-library

解决方案


像这样:

from PIL import ImageGrab

img = ImageGrab.grab()
pixels = img.load()
width, height = img.size
coords = []
for x in range(width):
    for y in range(height):
        if pixels[x, y] == (255, 0, 0):
            coords.append((x, y))

推荐阅读