Я ищу позиции пикселей одинакового цвета в снимке экрана RGB.
def ScreenToArray(box):
Screenshot = ImageGrab.grab(bbox=box)
return np.array(Screenshot)
def GetCoordiantes(array, colourWanted):
coordiantes = np.where(array == colourWanted)
xyCoordiantes = [[x, y] for x, y in zip(coordinates[0], coordinates[1])]
return xyCoordiantes
box = (200, 300, 400, 600)
colourWanted = [200, 200, 200]
ScreenArray = ScreenToArray(box)
PixelsCoordinates = GetCoordinates(ScreenArray, colourWanted)
Код работает нормально, пока не найдется пиксель ScreenArray
, который делит число с моим разыскиваемымcolor.
Почему numpy.where(array == [200, 200, 200])
также возвращает координаты для записей списка, таких как [[200, 1, 1]]
, и как этого избежать?