Создание скрипта для автоматического распознавания и клика по цветам на телефоне требует использования специализированных инструментов и библиотек. На Android можно использовать такие инструменты, как:
1. ADB (Android Debug Bridge) для взаимодействия с устройством.
2. OpenCV для обработки изображений и распознавания цветов на экране.
3. PyAutoGUI, если вы эмулируете Android на компьютере.
### Подход с использованием ADB и OpenCV:
1. Установите ADB на ваш компьютер.
2. Подключите ваш телефон к компьютеру через USB и убедитесь, что режим отладки включен.
3. Установите необходимые библиотеки:
pip install opencv-python numpy
### Алгоритм:
1. Сделайте скриншот экрана устройства.
2. Используйте OpenCV для поиска нужных цветов.
3. На основе координат цветов выполните клик с помощью ADB.
#### 1. Скрипт для создания скриншота:
import os
def take_screenshot():
os.system("adb exec-out screencap -p > screen.png")
take_screenshot()
#### 2. Скрипт для поиска цвета и клика по нему:
import cv2
import numpy as np
import os
def take_screenshot():
os.system("adb exec-out screencap -p > screen.png")
def find_and_click_color(target_color):
# Capture screenshot
take_screenshot()
# Read the screenshot to an OpenCV image
img = cv2.imread("screen.png")
# Define the color range in HSV
lower = np.array([target_color[0] - 10, 100, 100], dtype=np.uint8)
upper = np.array([target_color[0] + 10, 255, 255], dtype=np.uint8)
# Convert the image to HSV
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# Create a mask for the target color
mask = cv2.inRange(hsv_img, lower, upper)
# Find contours in the mask
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if contours:
# Find the largest contour
largest_contour = max(contours, key=cv2.contourArea)
# Get the center of the largest contour
M = cv2.moments(largest_contour)
if M["m00"] != 0:
cX = int(M["m10"] / M["m00"])
cY = int(M["m01"] / M["m00"])
print(f"Clicking at: {cX}, {cY}")
os.system(f"adb shell input tap {cX} {cY}")
else:
print("No valid contours found")
else:
print("Color not found")
# Пример целевого цвета (HSV). Цвет можно настроить по вашему усмотрению.
target_color = [30] # Проверьте правильный HSV диапазон для выбранного цвета
find_and_click_color(target_color)