Изображение внутри изображения не найдено

Я делаю бот-кликер, чтобы щелкнуть изображение на экране с помощью PIL. Прямо сейчас я сталкиваюсь с проблемой, когда код не может найти изображение на экране. Я даже пытался найти экран внутри экрана, но безрезультатно.

Вот код, который используется для поиска изображения:

      def find(find_url, in_url):
    from PIL import Image

    in_img  = Image.open(in_url)
    in_px = in_img.load()
    in_x, in_y = in_img.size

    find_img = Image.open(find_url)
    find_px = find_img.load()
    find_x, find_y = find_img.size

    br = False
    img_starts = []

    if not find_x > in_x and not find_y > in_y:
        for x1 in range(0, in_x - find_x):
            for y1 in range(0, in_y - find_y):
                for x2 in range(-1, find_x):
                    if br:
                        br = False
                        break
                    for y2 in range(-1, find_y):
                        r1, g1, b1 = in_px[x1 + x2, y1 + y2]
                        r2, g2, b2 = find_px[x2, y2]

                        if not (r1 == r2 and g1 == g2 and b1 == b2):
                            br = True
                            break
                        else:
                            print(x1 + x2, y1 + y2)

                        if x2 == find_x and y2 == find_y:
                            img_starts.append(f'{x1 + x2}, {y1 + y2}')
        return img_starts
    else:
        print(f"{find_img} is too large to fit within {in_img}")


if __name__ == '__main__':
    find()

Вот код, который вызывает ImgFind.find():

      from PIL import ImageGrab, Image
import ImgFind
import os
import time

man_url = 'find_the_man.png'
screen_url = 'screen.png'
#time.sleep(10)
#screen_img = ImageGrab.grab()
#screen_img.save('screen.png')


print(ImgFind.find(man_url, screen_url))

Вот изображения:

Мой экран:

Изображение для поиска:

0 ответов

Другие вопросы по тегам