搜索图像颜色并返回X, Y

2 投票
1 回答
3887 浏览
提问于 2025-04-17 10:14

我一直在寻找一种方法,可以在一张图片(屏幕截图)中找到特定的颜色,并返回这个颜色的位置(x,y)。我尝试过几次,但还没能找到合适的方法。最终的结果应该是找到的第一个像素的位置。

我想也许可以用PIL来帮忙。所以我尝试了一些代码,但现在的问题是,它返回了所有找到的那个颜色的位置:

修复:

def FindColor(r,g,b):
    image = ImageGrab.grab()
    for x in range(1, 400):
        for y in range(1,400):
            px = image.getpixel((x, y))
            if px[0] == r and px[1] == g and px[2] == b:
                return(x,y)

而且,我需要把循环的范围替换成图片的宽度和高度。

1 个回答

3

在找到第一个符合条件的结果后,就直接返回这个结果,而不是继续循环下去。

撰写回答