Как сравнить пиксель с определенным цветом на Python

Хотел сделать бота для игры в динозаврика Google. По идее он должен брать пиксель по определенным координатам и сравнивать его с цветом RGB. Ну например пиксель по координатам x=500, y=500 и сравнивает если этот пиксель цвета 255, 255, 255 по RGB, то нажимает пробел. Не могу понять как сравнивать пиксель с определенным цветом


Ответы (1 шт):

Автор решения: BlueScreen

Вот функция возвращает цвет пикселя по координатам X Y:


import ctypes


def pixel(x, y):
    hdc = ctypes.windll.user32.GetDC(0)
    color = ctypes.windll.gdi32.GetPixel(hdc, x, y)
    # color is in the format 0xbbggrr https://msdn.microsoft.com/en-us/library/windows/desktop/dd183449(v=vs.85).aspx
    r = color % 256
    g = (color // 256) % 256
    b = color // (256 ** 2)
    ctypes.windll.user32.ReleaseDC(0, hdc)
    return (r, g, b)

Для того что бы стравинвать значения в Питоне используют оператор ==. Он возвращает True (Истина) если значение слева = значению справа и False в противном случае (значение слева не равно значению справа). Таким образом пишем ещё 1 фукнцию:

is_this_pixel_black(x, y):  
   return (255, 255, 255) == pixel(x, y)
→ Ссылка