如何在 Python 中获取和使用 RGB 值?

问题描述

我想创建一个脚本来检测像素的颜色,如果它是红色的(例如)它应该在脚本中进一步移动。所以我对某个区域进行了截图,保存并检测我想要的像素的颜色。

current = pyautogui.screenshot(region=(116,710,40,15))
current.save("./current.png")

def rgb_of_pixel(img_path,x,y):
    im = Image.open(img_path).convert('RGB')
    r,g,b = im.getpixel((x,y))
    a = (r,b)
    return a

img = "./current.png"
print(rgb_of_pixel(img,5,5))
time.sleep(1) code here

这就是我到目前为止所得到的。我可以打印出来,但我不知道如何用它做一个 if 语句。同样,如果像素的颜色是红色,我希望它做一些事情。

解决方法

您可以这样做(如果我正确理解您的查询):

if a == (255,0):
    print('It is red!')
,

这主要取决于你所说的红色,我认为,这不是一个真正的编程问题,例如,如果红色通道超过 100,并且是绿色或绿色通道的两倍多,你可以将某些东西称为红色蓝色,代码如下:

def isRed(a):
    r,g,b = a
    if r>100 and g<r/2 and b<r/2:
        return True
    else:
        return False