触动精灵纯本地离线文字识别插件

news2024/12/24 20:41:07

目的

        触动精灵是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。但触动精灵的图色功能比较单一,无法识别屏幕上的图像,根据图像的变化自动执行相应的操作。本篇文章主要讲解下触动精灵纯本地离线文字识别插件如何使用和集成。

准备工作

1、下载触动精灵脚本编辑器开发工具:下载中心 - 触动精灵官网 (touchsprite.com)

        

2、下载纯本地离线文字识别插件

        

插件集成

1、在触动精灵脚本编辑器打开TomatoOCR.proj文件,导入项目:

2、将armeabi-v7a/x86目录下的TomatoOCR.so文件,添加到工程目录中

注:真机一般使用armeabi-v7a,模拟器一般使用x86

3、文件关联

导入成功后,将TomatoOCR目录下的插件[plugin]中的文件,右键进行关联:

关联后,文件将会显示出来。

4、在main.lua中进行编辑

--******************************************************************************
--****欢迎使用TomatoOCR文字识别插件,加入群【754442166、469843332】可获取最新版本!!****
--******************************************************************************

local tomatoOCR = require("TomatoOCR")

-- 初始化
path = userPath();
det = path.."/res/det.opt"
cls = path.."/res/cls.opt"
rec = path.."/res/rec.opt"
rec_v3 = path.."/res/rec_v3.opt"
local b = tomatoOCR.init(det,cls,rec,rec_v3)


local rec_type = "ch-3.0";
-- 注:ch、ch-2.0、ch-3.0版可切换使用,对部分场景可适当调整
-- "ch":普通中英文识别,1.0版模型
-- "ch-2.0":普通中英文识别,2.0版模型
-- "ch-3.0":普通中英文识别,3.0版模型
-- "cht":繁体,"japan":日语,"korean":韩语
tomatoOCR.setRecType(rec_type)


tomatoOCR.setDetBoxType("rect")  -- 调整检测模型检测文本参数- 默认"rect": 由于手机上截图文本均为矩形文本,从该版本之后均改为rect,"quad":可准确检测倾斜文本
tomatoOCR.setDetUnclipRatio(1.9)  -- 调整检测模型检测文本参数 - 默认1.9: 值范围1.6-2.5之间
tomatoOCR.setRecScoreThreshold(0.3)  -- 识别得分过滤 - 默认0.1,值范围0.1-0.9之间
tomatoOCR.setReturnType("json")
-- 返回类型 - 默认"json": 包含得分、坐标和文字;
-- "text":纯文字;
-- "num":纯数字;
-- 自定义输入想要返回的文本:".¥1234567890",仅只返回这些内容

local type = 3;
-- type 可传可不传
-- type=0 : 只检测
-- type=1 : 方向分类 + 识别
-- type=2 : 只识别
-- type=3 : 检测 + 识别

-- 只检测文字位置:type=0
-- 全屏识别: type=3或者不传type
-- 截取单行文字识别:type=1或者type=2

snapshot("test.png", 0, 0, 300, 100)
img = path.."/res/test.png"
local res = tomatoOCR.ocrFile(img, type)
nLog(res)

5、运行

以上就是所有的运行情况。

完毕

        相对来说,在懒人精灵进行插件开发还是比较方便的,官方提供的lua语言功能很全,原生插件集成可以采用直连的方式,但相比部署在服务器上,还是减少了很多资源占用情况,更加方便便捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1643639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言二分查找的区间问题

概念 什么是二分查找呢? 二分查找:在有序数组中查找某一特定元素的搜索算法。 二分查找又称折半查找,通过将数组折半,用中间值和查找值作比较,多次使用,直到找到要查找的值。 注意:二分查找的前提是&#…

内核workqueue框架

workqueue驱动的底半部实现方式之一就是工作队列,作为内核的标准模块,它的使用接口也非常简单,schedule_work或者指定派生到哪个cpu的schedule_work_on。 还有部分场景会使用自定义的workqueue,这种情况会直接调用queue_work和qu…

JavaScript的操作符运算符

前言: JavaScript的运算符与C/C一致 算数运算符: 算数运算符说明加-减*乘%除/取余 递增递减运算符: 运算符说明递增1-- 递减1 补充: 令a1,b1 运算a b ab12ab22ab--10a--b00 比较(关系)运算符: 运算…

服务器端集群优化-集群还是主从

7、服务器端集群优化-集群还是主从 集群虽然具备高可用特性,能实现自动故障恢复,但是如果使用不当,也会存在一些问题: 集群完整性问题集群带宽问题数据倾斜问题客户端性能问题命令的集群兼容性问题lua和事务问题 问题1、在Redi…

[Spring Cloud] (6)gateway整体加解密

文章目录 简述整体效果后端增加配置nacos增加配置GlobalConfig 添加请求整体解密拦截器DecryptionFilter添加响应整体解密拦截器EncryptionFilter 前端请求拦截器添加整体加密逻辑请求头中添加sessionId 响应拦截器添加整体解密逻辑 简述 本文网关gateway,微服务&a…

VsCode插件 -- Power Mode

一、安装插件 1. 首先在扩展市场里搜索 Power Mode 插件,如下图 二、配置插件 设置 点击小齿轮 打上勾 就可以了 第二种设置方法 1. 安装完成之后,使用快捷键 Ctrl Shift P 打开命令面板,在命令行中输入 settings.json , 选择首…

扩展学习|结合故事的力量和数字的力量:混合方法研究和混合研究综述

文献来源:Pluye, Pierre, and Quan Nha Hong. "Combining the power of stories and the power of numbers: mixed methods research and mixed studies reviews." Annual review of public health 35 (2014): 29-45. 文献获取:链接&#xff1…

【机器视觉】yolo-world-opencvsharp-.net4.8 C# 窗体应用程序

这段代码是基于 OpenCvSharp, OpenVinoSharp 和 .NET Framework 4.8 的 Windows Forms 应用程序。其主要目的是加载和编译机器学习模型,对输入数据进行推理,并显示结果。 下面是该程序的主要功能和方法的详细总结: 初始化 OpenVINO 运行时核心…

【微服务】配置管理

Nacos配置管理 配置管理配置共享配置热更新 配置管理 将微服务集群中常用,经常变化的配置都写到一个独立的配置文件微服务中进行统一管理 配置共享 在Nacos的界面当中进行配置管理,在配置列表中添加配置 比如各个服务中的jdbc的连接配置: …

【AI工具声音克隆】——OpenVoice一键部署modelScope一键使用

一、声音/音色克隆简介 声音或音色克隆的原理实现步骤主要基于深度学习技术,特别是语音合成和生成模型。以下是声音/音色克隆的大致实现步骤: 数据收集: 收集语音数据,作为模型的训练样本。数据应尽可能多样化,包括不…

基于stm32的USB虚拟U盘+FATFS+W25Q64

基于stm32的USB虚拟U盘FATFSW25Q64 本文目标:基于stm32的USB虚拟U盘FATFSW25Q64 按照本文的描述,简单跑通USB的MSC类来进行简单交互。 先决条件:拥有C语言基础,装有编译和集成的开发环境,比如:Keil uVis…

如果还有机会再跟芒格共度一天,巴菲特想做什么?

这是芒格因离世而缺席的第一年,但他的身影却无处不在。问答环节,巴菲特会不小心脱口而出“查理,该你回答了”,他也称,与芒格在一起的时间比独处要快乐。 可以说,虽然99岁的芒格因离世而缺席了2024年伯克希…

记录几种排序算法

十种常见排序算法可以分类两大类别:比较类排序和非比较类排序。 常见的快速排序、归并排序、堆排序以及冒泡排序等都属于比较类排序算法。比较类排序是通过比较来决定元素间的相对次序,其时间复杂度不能突破 O(nlogn)。在冒泡排序之类的排序中&…

Python基础详解一

一&#xff0c;print打印 print("hello word") print(hello word) 双引号和单引号都可以 二&#xff0c;数据类型 Python中常用的有6种值的类型 输出类型信息 print(type(11)) print(type("22")) print(type(22.2)) <class int> <class str&…

Mybatis进阶2

Mybatis进阶1-CSDN博客 Mybatis入门-CSDN博客 Mybatis入门2-CSDN博客 我们接下来要学习Mybatis的高级查询 我们先在数据库中准备我们需要的数据表 teacher表 课程表&#xff1a;与教师表是一对多的关系&#xff0c;所以有一个外键字段 学生表 由于学生表和课程表是多对多的…

鸿蒙ArkTs开发,仿抖音个人中心header 下拉放大

如果是iOS 或者android 上实现&#xff0c;可以用Scollview 的contentOffset 来实现&#xff0c;然而在鸿蒙ets中该如何实现&#xff1f;废话不多说开始撸代码 第一步、实现一个header // 创建header&#xff0c;准备一张背景图片BuilderHeaderBuilder(){Column() {Row() {Ima…

算法入门<一>:C++各种排序算法详解及示例源码

1、排序算法 排序算法&#xff08;sorting algorithm&#xff09;用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更高效地查找、分析和处理。 1.1 评价维度 运行效率&#xff1a;我们期望排序算法的时间复杂度尽量低&#xf…

C语言学习【C语言基本数据类型】

C语言学习【C语言基本数据类型】 整数溢出 /* 整数溢出 */ #include "stdio.h" /* Last Modified Time: 2024-05-05 17:53:49 */int main(void) {int i 2147483647;unsigned int j 4294967295;printf("%d %d %d\n", i, i1, i2);printf("%u %u %u\…

【数据结构初阶】直接插入排序

最近浅学了直接插入排序&#xff0c;写个博客做笔记&#xff01;笔记功能除外若能对读者老爷有所帮助最好不过了&#xff01; 直接插入排序是插入排序的一种&#xff0c;那么介绍直接插入排序之前先介绍一下常见的排序算法&#xff01; 目录 1.常见的排序算法 2.直接插入排…

500行代码实现贪吃蛇(1)

文章目录 目录1. Win32 API 介绍1.1 Win32 API1.2 控制台程序&#xff08;Console&#xff09;1.3 控制台屏幕上的坐标COORD1.4 [GetStdHandle](https://learn.microsoft.com/zh-cn/windows/console/getstdhandle)1.5 [GetConsoleCursorInfo](https://learn.microsoft.com/zh-c…