Поиск изображения на экране питон

Блог

python — как распознавать изображения и нажимать на них

#python #pyautogui

#python #pyautogui

Вопрос:

Я хотел бы создать скрипт, который нажимает на изображения в зависимости от того, что запрашивается, он должен проходить через список изображений. так, например, если программа попросит пользователя щелкнуть по зеленому кружку:

 question_list = greencircle, redcircle, bluesquare, redtriangle if(greencircle == greencircle.png)

может кто-нибудь помочь с этим?

Комментарии:

1. Если вам нужно распознавание изображений, вы должны использовать OpenCV для распознавания изображений на экране и pyautogui для щелчка по ним после получения их координат.

2. Способ задать свой первый вопрос! Добро пожаловать!! Основываясь на документации, похоже, что pyautogui.click() — правильный синтаксис. Можете ли вы уточнить, какую проблему вы видите? pyautogui.readthedocs.io/en/latest

3. @StephenGodderidgeThanks спасибо! Итак, в основном у меня есть приложение для моего школьного проекта, и у меня есть программа, которая просит пользователя щелкнуть по чему-то, в основном как изображение из reCAPTCHA. Моя программа просто не работает, и я не знаю почему

4. Итак, программа должна знать, что представляет собой каждое изображение, верно? Таким образом, он может выбирать, какое изображение щелкнуть? Если это так, я бы пошел с тем, что предложил @Nastor. Проверьте OpenCV для распознавания изображений. Вот удобный учебник, с которого вы могли бы начать: learnopencv.com/image-recognition-and-object-detection-part1

5. Разве opencv не принимает только камеру? Мне нужно сделать снимок на экране, чтобы камера не разрешалась

Ответ №1:

PyAutoGUI имеет встроенную вызываемую функцию locateOnScreen() , которая возвращает координаты x, y центра изображения, если она может найти его на текущем экране (он делает снимок экрана, а затем анализирует его).

Изображение должно точно совпадать, чтобы это работало; т. Е. Если вы хотите нажать на button.png эту кнопку, изображение должно быть того же размера / разрешения, что и кнопка в вашей Windows, чтобы программа ее распознала. Один из способов добиться этого — сделать снимок экрана, открыть его в paint и вырезать только ту кнопку, которую вы хотите нажать (или вы можете попросить PyAutoGUI сделать это за вас, как я покажу в более позднем примере).

 import pyautogui question_list = ['greencircle', 'redcircle', 'bluesquare', 'redtriangle'] user_input = input('Where should I click? ') while user_input not in question_list: print('Incorrect input, available options: greencircle, redcircle, bluesquare, redtriangle') user_input = input('Where should I click?') location = pyautogui.locateOnScreen(user_input '.png') pyautogui.click(location) 

Приведенный выше пример требует, чтобы у вас уже был greencircle.png и все другие .png в вашем каталоге

PyAutoGUI также может делать снимки экрана, и вы можете указать, в какой области экрана делать снимок pyautogui.screenshot(region=(0, 0, 0, 0)) . Первые два значения — это координаты x, y для верхнего левого края области, которую вы хотите выбрать, третье — как далеко вправо (x), а четвертое — как далеко вниз (y).

В следующем примере делается снимок экрана с логотипом Windows 10, сохраняется в файл, а затем нажимается на логотип с помощью указанного файла .png

 import pyautogui pyautogui.screenshot('win10_logo.png', region=(0, 1041, 50, 39)) location = pyautogui.locateOnScreen('win10_logo.png') pyautogui.click(location) 

Вам также не нужно сохранять снимок экрана в файл, вы можете просто сохранить его как переменную

 import pyautogui win10 = pyautogui.screenshot(region=(0, 1041, 50, 39)) location = pyautogui.locateOnScreen(win10) pyautogui.click(location) 

Для того, чтобы программа определяла, нажал ли пользователь в определенной области (скажем, на логотип Windows 10), потребуется другая библиотека, такая как pynput.

 from pynput.mouse import Listener def on_click(x, y, button, pressed): if 0 < x < 50 and 1080 > y > 1041 and str(button) == 'Button.left' and pressed: print('You clicked on Windows 10 Logo') return False # get rid of return statement if you want a continuous loop with Listener(on_click=on_click) as listener: listener.join() 

СОБИРАЕМ ВСЕ ЭТО ВМЕСТЕ

 import pyautogui from pynput.mouse import Listener win10 = pyautogui.screenshot(region=(0, 1041, 50, 39)) location = pyautogui.locateOnScreen(win10) # location[0] is the top left x coord # location[1] is the top left y coord # location[2] is the distance from left x coord to right x coord # location[3] is the distance from top y coord to bottom y coord x_boundary_left = location[0] y_boundary_top = location[1] x_boundary_right = location[0] location[2] y_boundary_bottom = location[1] location[3] def on_click(x, y, button, pressed): if x_boundary_left < x < x_boundary_right and y_boundary_bottom > y > y_boundary_top and str(button) == 'Button.left' and pressed: print('You clicked on Windows 10 Logo') return False # get rid of return statement if you want a continuous loop with Listener(on_click=on_click) as listener: listener.join() 

Источник

PYTHON ПОИСК ИЗОБРАЖЕНИЯ НА ЭКРАНЕ

Python предоставляет несколько библиотек для выполнения поиска изображений на экране. Одной из самых распространенных библиотек является PyAutoGUI.

PyAutoGUI — это кроссплатформенная Python библиотека для автоматизации действий с мышью и клавиатурой, а также для выполнения поиска изображения на экране. Для поиска изображения на экране можно использовать функцию locateOnScreen().

Например, следующий код на Python демонстрирует поиск изображения на экране:

import pyautogui
image_location = pyautogui.locateOnScreen(‘image.png’)
if image_location is not None:
print(«Image found at (<>, <>)».format(image_location.left, image_location.top))
else:
print(«Image not found»)

Этот код ищет изображение с именем image.png на экране. Если изображение найдено, то выводится сообщение с координатами левого верхнего угла изображения. В противном случае выводится сообщение о том, что изображение не найдено.

Учим программу распознавать текст на картинках, видео, играх ▲ Python + OpenCV + Tesseract

Автокликер на Python #2. Поиск цвета на экране

Урок #3 Python / Распознавание контуров OpenCV

Поиск изображения на экране до полного исчезновения

Mojo 🔥 — Новый язык, который заменит Python?

Распознавание текста с изображения на Python — EasyOCR vs Tesseract — Компьютерное зрение

УРОК 2. Как сделать АВТОКЛИКЕР для Windows, Linux, macOS! Кликаем по изображениям! Python pyautogui!

[Python] OpenCV. Распознавание цвета. Работа с событиями мыши

Поиск и клик по картинке AHK imageSearch

Распознавание объектов на Python — Поиск объектов на изображении — TensorFlow, PixelLib

  • Логирование телеграм бота python
  • Isna что это python
  • Python функция zip
  • Бэкенд на python
  • Django не видит миграции
  • Префиксные суммы python
  • Python разница между списком и массивом
  • Как установить определенную версию библиотеки python
  • Как сократить дробь python
  • Бизнес логика в django
  • Python трехмерный список
  • Отсортировать датафрейм по столбцу python
  • Python вложенные списки в один список
  • Функция reserved python

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

A wrapper around opencv2 and pyautogui to do image searching easily.

License

drov0/python-imagesearch

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

it’s a wrapper around pyautogui and opencv2, to allow you to easily add cross-platform image searching capabilities to your project.

See the documentation for examples. If you have any questions feel free to contact me.

This is the currently maintained package, so if you’ve come from https://pypi.org/project/python-imagesearch-drov0/

you are at the right place

You may need to install dependencies depending on your OS:

sudo pip3 install python3-xlib sudo apt-get install scrot python3-tk python3-dev python3-opencv 

No setup should be needed

brew install opencv pip3 install -U pyobjc-core pip3 install -U pyobjc 

I have not tested myself as I don’t own a mac, but it was tested and documented in this issue : #5

About

A wrapper around opencv2 and pyautogui to do image searching easily.

Источник

Читайте также:  Испытание фильмография html academy ответ
Оцените статью