Как найти местоположение в пикселях из image.pixel? - PullRequest
0 голосов
/ 22 февраля 2019

Итак, у меня есть этот скрипт, который работает, он распечатывает все пиксели, которые имеют и значение rgb (102,102,102), но я не знаю, как я мог бы теперь получить это местоположение пикселей и щелкнуть по нему ... любойпредложения?

редактировать: под положением пикселей я подразумеваю координаты x, y пикселей

import pyautogui
import time
from PIL import Image
import mss
import mss.tools
import cv2
import numpy as np
from PIL import ImageGrab
import colorsys


time.sleep(3)


def shootfunc(xc, yc):
    pyautogui.click(xc, yc)

gameregion = [71, 378, 328, 530]

foundpxl = 0

xx = 0
while xx <= 300:
    with mss.mss() as sct:
        region = {'top': 0, 'left': 0, 'width': 1920, 'height': 1080}
        imgg = sct.grab(region)
        pxls = imgg.pixels


        for pxl in pxls:
            for pxll in pxl:
                if pxll == (102, 102, 102) or pxl == "(255, 255, 255)" or pxl == [255, 255, 255]:
                    foundpxl = pxll
                    print(foundpxl)
        xx = xx + 1
        time.sleep(.1)

1 Ответ

0 голосов
/ 22 февраля 2019

Вы можете enumerate любую последовательность, которую вы повторяете.Это возвращает индекс элемента и элемента:

>>> for i, e in enumerate('abc'):
...     print(i, e)
0 a
1 b
2 c

Таким образом, вы можете использовать это, чтобы найти строку и столбец пикселя:

for row, pxl in enumerate(pxls):
    for col, pxll in enumerate(pxl):
        ...
...