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

简介: 本方案采用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++运行库

相关文章
|
编解码 Linux Android开发
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
安卓投屏神器 Scrcpy 安装与使用(支持 Mac、Windows、Linux)
54247 1
|
Windows
万能脚本录制器(支持鼠标/键盘的前台和后台,支持多种绑定模式)
一款模拟鼠标键盘动作的软件。通过制作脚本,可以代替双手,自动执行一系列鼠标键盘动作。本程序简单易用,不需要任何编程知识就可以作出功能强大的脚本。只要在电脑前用双手可以完成的动作,本程序都可以替代完成。
18171 0
万能脚本录制器(支持鼠标/键盘的前台和后台,支持多种绑定模式)
|
7月前
|
消息中间件 Java 关系型数据库
吃透 Java 轻量级流程引擎 Easy Work:从核心原理到生产级落地全指南
Easy Work是一款开源轻量级Java流程引擎,基于状态机设计,摒弃BPMN复杂特性,学习成本降90%、性能提升3倍以上,专为中小微流程场景优化,5分钟即可快速集成上线。
1191 2
识图点击脚本,图片识别连点器,自动点击精灵【autojs】
主脚本实现基于模板匹配的自动点击功能,包含UI界面和参数配置。增强版提供了多目标识别和
|
7月前
|
安全 Linux iOS开发
IDA Pro 9.3 正式版发布 - 强大的反汇编程序、反编译器和多功能调试器
IDA Pro 9.3 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器
16589 9
IDA Pro 9.3 正式版发布 - 强大的反汇编程序、反编译器和多功能调试器
|
6月前
|
人工智能 自然语言处理 API
AI漫剧零代码制作喂饭级教程:OpenClaw阿里云/本地部署+Seed2.0 Skills 实战指南
无需专业剪辑技术、不用复杂软件操作,甚至不用手动绘制分镜——借助OpenClaw与Seed2.0 Skills的组合,2026年普通人也能零门槛制作AI漫剧。从剧本创作、分镜设计到视频合成,全程AI自动化完成,手机端也能快速产出高质量作品。开源项目「AI漫导」(director_ai)已收获1.1k Star,其核心逻辑正是通过OpenClaw集成Seed2.0漫剧专属技能,让漫剧制作从“专业门槛”变为“人人可玩”。
4113 2
|
机器学习/深度学习 存储 人工智能
压缩大型语言模型(LLMs):缩小10倍、性能保持不变
尽管大规模语言模型(LLMs)在多种应用场景中表现出色,但其庞大的规模也带来了实际部署难题。本文探讨了通过模型压缩技术解决这些问题的方法,介绍了量化、剪枝和知识蒸馏三种主要压缩技术,并通过具体Python代码示例展示了如何将一个100M参数的文本分类模型压缩至52.8M参数,再通过4位量化进一步减小至原来的1/7,同时保持甚至提升性能。示例代码展示了从数据预处理、模型训练到评估的完整流程,证明了压缩技术的有效性。
1211 6
|
Java Spring
SpringBoot: 启动Banner在线生成工具
SpringBoot: 启动Banner在线生成工具
42631 1
SpringBoot: 启动Banner在线生成工具
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
162832 65
|
安全 Java 编译器
JD-GUI,java反编译工具及原理: JavaDecompiler一个Java反编译器
Java Decompiler (JD-GUI) 是一款由 Pavel Kouznetsov 开发的图形化 Java 反编译工具,支持 Windows、Linux 和 Mac Os。它能将 `.class` 文件反编译为 Java 源代码,支持多文件标签浏览、高亮显示,并兼容 Java 5 及以上版本。JD-GUI 支持对整个 Jar 文件进行反编译,可跳转源码,适用于多种 JDK 和编译器。其原理基于将字节码转换为抽象语法树 (AST),再通过反编译生成代码。尽管程序可能带来安全风险,但可通过代码混淆降低可读性。最新版修复了多项识别错误并优化了内存管理。
11342 1

热门文章

最新文章