自动识别图片点击脚本,文字识别自动点击器, 能识别屏幕内容并自动点击

本文涉及的产品
票证核验,票证核验 50次/账号
OCR统一识别,每月200次
票据凭证识别,票据凭证识别 200次/月
简介: 本方案采用OCR文字识别+图像匹配双模式识别技术:OCR引擎识别屏幕文字内容OpenCV模板匹配识别图形元素PyAutoGUI实现

下载地址:http://m.pan38.com/download.php?code=RQEBET 提取码:6666

基于OCR的屏幕自动点击器开发指南
一、技术原理
本方案采用OCR文字识别+图像匹配双模式识别技术:
OCR引擎识别屏幕文字内容
OpenCV模板匹配识别图形元素
PyAutoGUI实现精准鼠标控
多线程处理保证实时性
二、核心代码实现

import cv2
import numpy as np
import pyautogui
import pytesseract
import time
import threading
from PIL import ImageGrab

class AutoClicker:
def init(self):
self.running = False
self.ocr_config = r'--oem 3 --psm 6'
self.template_threshold = 0.8
self.refresh_rate = 0.5

def start_clicker(self):
    self.running = True
    self.thread = threading.Thread(target=self._monitor)
    self.thread.start()

def stop_clicker(self):
    self.running = False
    self.thread.join()

def _monitor(self):
    while self.running:
        screenshot = ImageGrab.grab()
        screen_np = np.array(screenshot)

        # OCR模式处理
        text_data = pytesseract.image_to_string(screen_np, config=self.ocr_config)
        if "目标按钮" in text_data:
            self._click_text_target("目标按钮", screen_np)

        # 图像模板匹配模式
        templates = ["confirm.png", "accept.png", "next.png"]
        for template in templates:
            self._match_template(template, screen_np)

        time.sleep(self.refresh_rate)

def _click_text_target(self, target_text, screen_np):
    data = pytesseract.image_to_data(screen_np, config=self.ocr_config, output_type=pytesseract.Output.DICT)

    for i, text in enumerate(data['text']):
        if target_text in text:
            x = data['left'][i]
            y = data['top'][i]
            w = data['width'][i]
            h = data['height'][i]

            center_x = x + w//2
            center_y = y + h//2

            pyautogui.click(center_x, center_y)
            print(f"Clicked text target at ({center_x}, {center_y})")
            return True
    return False

def _match_template(self, template_path, screen_np):
    try:
        template = cv2.imread(template_path, 0)
        if template is None:
            return False

        screen_gray = cv2.cvtColor(screen_np, cv2.COLOR_BGR2GRAY)
        res = cv2.matchTemplate(screen_gray, template, cv2.TM_CCOEFF_NORMED)

        loc = np.where(res >= self.template_threshold)
        for pt in zip(*loc[::-1]):
            center_x = pt[0] + template.shape[1]//2
            center_y = pt[1] + template.shape[0]//2

            pyautogui.click(center_x, center_y)
            print(f"Clicked template {template_path} at ({center_x}, {center_y})")
            return True
    except Exception as e:
        print(f"Template matching error: {e}")
    return False

使用示例

if name == "main":
clicker = AutoClicker()
try:
clicker.start_clicker()
while True:
time.sleep(1)
except KeyboardInterrupt:
clicker.stop_clicker()

三、功能扩展

配置文件支持:读取JSON配置定义点击规则

多显示器适配:通过screeninfo库获取多屏信息

性能优化:使用CUDA加速OpenCV处理

日志系统:记录操作历史便于调试

图形界面:PyQt5构建管理界面

四、注意事项

管理员权限运行(Windows系统)

屏幕缩放设置为100%

不同语言需调整Tesseract训练数据

需要安装VC++运行库

相关文章
|
2天前
|
SQL 关系型数据库 MySQL
JOIN顺序优化:小表驱动大表的执行原则
在数据库查询优化中,“小表驱动大表”是一种提升SQL查询效率的常用策略。其核心思想是优先处理数据量较小的表,再与大表进行连接操作,从而减少数据扫描量、降低I/O开销并提高内存使用效率。通过显式指定JOIN顺序、使用EXISTS替代IN以及合理创建索引等方式,可以有效实现该原则。例如,在连接部门表(小表)和员工表(大表)时,先处理小表可显著提升查询性能。掌握这一原则有助于编写高效SQL语句,优化数据库整体表现。
|
3天前
|
XML Java Android开发
微信虚拟视频插件安卓,微信虚拟相机替换拍照,java源码分享
完整的相机应用项目包含三个主要文件:主活动实现、布局文件和清单文件。代码实现了相机预览、
|
3天前
|
Android开发
安卓虚拟摄像头替换摄像头, 微信虚拟相机替换拍照,安卓免root虚拟摄像头
虚拟摄像头系统包含多个组件:主摄像头类、预览面板、驱动接口、DirectShow实现和管理类
|
1天前
|
数据安全/隐私保护
QQ邮件群发工具,邮箱群发批量自动发送工具, qq一键群发器软件
本工具通过SMTP协议与QQ邮件服务器通信,主要实现以下功能: 读取Excel格式的收
|
2天前
|
Java 测试技术
抖音点赞脚本,直播间作品批量点赞,jar插件代码分享
实现使用了Selenium WebDriver自动化测试框架来模拟浏览器操作。代码包含登录功能
|
2天前
|
Java 计算机视觉
微信虚拟视频聊天插件,QQ抖音快手虚拟摄像头工具,替换相机视频流java
实现包含了虚拟摄像头核心功能,可以捕获真实摄像头视频流,处理后输出到虚拟摄像头设备。
抖音评论插件,全自动评论脚本留言,点赞关注私信autojs
脚本提供了完整的抖音自动化操作功能,包括随机滑动视频、点赞、关注、评论和私信。代码中包
微信qq陌陌soul,虚拟视频聊天插件,xposed摄像头替换工具
包含三个核心模块:虚拟摄像头服务、视频处理引擎和Xposed框架集成。
|
3天前
|
Java Android开发
安卓虚拟摄像头过人脸,免root虚拟hook相机,虚拟相机hook版【jar】
两种Hook Android相机的方法:Xposed模块和Frida脚本。Xposed模块需要安装在已root的设备
|
21小时前
微信养号脚本,自动加好友定时看朋友圈,发动态点赞评论
这个工具其实是我之气那在某公司上班时候给领导开发的,其实前期还是花了不少时间,估计半个月时间