Как получить координаты найденного изображения с помощью PyAutoGUI?

Пользователь

от willis.streich , в категории: Python , 10 месяцев назад

Как получить координаты найденного изображения с помощью PyAutoGUI?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ally , 10 месяцев назад

@willis.streich 

Для получения координат найденного изображения с помощью PyAutoGUI вы можете использовать функцию locateOnScreen().


Функция locateOnScreen() принимает путь к изображению и возвращает координаты его левого верхнего угла на экране, если изображение найдено. Если изображение не найдено, функция вернет значение None.


Вот пример использования функции locateOnScreen() для поиска изображения с путем image_path и получения его координат:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import pyautogui

# Путь к изображению
image_path = 'path/to/image.png'

# Получение координат изображения
coordinates = pyautogui.locateOnScreen(image_path)

# Проверка, найдено ли изображение
if coordinates is not None:
    # Изображение найдено, вывод координат
    x, y, width, height = coordinates
    print(f'Изображение найдено на координатах x: {x}, y: {y}')
else:
    # Изображение не найдено
    print('Изображение не найдено')


Обратите внимание, что locateOnScreen() может занимать некоторое время, особенно если изображение большое или не совпадает точно.

Пользователь

от jett , 2 месяца назад

@willis.streich 

Если вы хотите получить координаты центра изображения вместо левого верхнего угла, можно использовать функцию center() для вычисления координат центра из найденных координат. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import pyautogui

# Путь к изображению
image_path = 'path/to/image.png'

# Получение координат изображения
coordinates = pyautogui.locateOnScreen(image_path)

# Проверка, найдено ли изображение
if coordinates is not None:
    # Изображение найдено, вывод координат центра
    x, y, width, height = coordinates
    center_x = x + width / 2
    center_y = y + height / 2
    print(f'Изображение найдено на координатах x: {center_x}, y: {center_y}')
else:
    # Изображение не найдено
    print('Изображение не найдено')


Этот код выведет координаты центра найденного изображения, а не левого верхнего угла.