Skip to main content

Библиотека для детекции объектов на экране и автоматического клика по ним

Project description

Detect-and-Click

Библиотека для автоматической детекции объектов на экране и выполнения кликов по ним на базе YOLOv8.

Описание

Detect-and-Click — это Python-библиотека, которая совмещает возможности компьютерного зрения с автоматизацией действий мыши. Она использует предобученную модель YOLOv8 для обнаружения заданных объектов на экране и автоматически выполняет клики по ним.

Основные возможности:

  • Обнаружение объектов на всем экране или в указанной области
  • Автоматические клики по обнаруженным объектам
  • Настраиваемая задержка между кликами
  • Визуализация процесса обнаружения (опционально)

Установка

pip install detect-and-click

Подготовка модели

Библиотека работает с весами YOLOv8 в формате .pt. Для работы необходим файл best.pt, содержащий обученную модель.

Библиотека будет искать этот файл в следующих местах:

  1. Текущая рабочая директория
  2. ~/.detect_and_click/models/best.pt
  3. Директория models внутри установленного пакета

Также можно указать путь явно через аргумент --model или переменную окружения DETECT_AND_CLICK_MODEL_PATH.

Использование

Как CLI-инструмент

# Простой запуск (будет искать best.pt автоматически)
detect-and-click

# С указанием пути к модели
detect-and-click --model /path/to/best.pt

# Настройка порога уверенности и задержки между кликами
detect-and-click --conf 0.7 --delay 0.5

# Указание области экрана для сканирования
detect-and-click --region "0,0,800,600"

# Запуск без отображения окна OpenCV
detect-and-click --no-display

# Полная справка по параметрам
detect-and-click --help

Как библиотека

from detect_and_click import DetectAndClick

# Инициализация с настройками
dac = DetectAndClick(model_path="/path/to/best.pt", conf=0.7, delay=0.5)

# Запуск с отображением окна
dac.run(display=True)

# Запуск для определённого региона экрана
region = {"left": 0, "top": 0, "width": 800, "height": 600}
dac.run(display=True, region=region)

Управление

При запущенном приложении:

  • Q - выход из программы

Параметры командной строки

Параметр Тип По умолчанию Описание
--model строка Авто Путь к весам best.pt
--conf число 0.5 Порог уверенности YOLO (0.0 - 1.0)
--delay число 0.4 Задержка между кликами в секундах
--no-display флаг False Не показывать окно OpenCV
--region строка Весь экран Зона захвата: left,top,width,height

Требования

  • Python 3.7+
  • OpenCV
  • PyAutoGUI
  • Ultralytics YOLOv8
  • MSS (для захвата экрана)
  • Numpy

Примеры использования

Автоматический клик по кнопкам в игре

# Сканирование всего экрана, клик при уверенности >70%, задержка 0.8 сек
detect-and-click --conf 0.7 --delay 0.8

Фокусированное сканирование в окне приложения

# Сканирование прямоугольной области экрана
detect-and-click --region "100,200,800,600"

Тихий режим работы (без визуализации)

# Работа в фоновом режиме
detect-and-click --no-display

Для разработчиков

Установка в режиме разработки

# Клонирование репозитория
git clone https://github.com/ваш-username/detect-and-click.git
cd detect-and-click

# Создание виртуального окружения
python -m venv .venv
source .venv/bin/activate  # На Windows: .venv\Scripts\activate

# Установка в режиме разработки
pip install -e ".[dev]"

Запуск тестов

pytest

Лицензия

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

detect_and_click-0.2.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

detect_and_click-0.2.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file detect_and_click-0.2.0.tar.gz.

File metadata

  • Download URL: detect_and_click-0.2.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for detect_and_click-0.2.0.tar.gz
Algorithm Hash digest
SHA256 baf4276497b8e0baf24ecfdfcef62afee8277aa0b3ddee07dc26b648628abe2f
MD5 044b7d6ad6b05a353ba968ae0611b9a0
BLAKE2b-256 e46e0c5f677d5dd263ced1d767ba03fab8f91a514e83fea868c8a4209bcebeba

See more details on using hashes here.

File details

Details for the file detect_and_click-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for detect_and_click-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6956aafe8e02d745035af7f8e8a4b2dbe638ee83eda8fc0079098e32425c639
MD5 553c16d89fc380d356b2a3932618034a
BLAKE2b-256 735abf5ebf1733c763eac1700de2df2b325c053581e6a29b78712390433ced51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page