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