当前位置: 首页 > news >正文

全网唯一:触摸精灵iOS版纯离线本地文字识别插件

目的

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

准备工作

1、下载触摸精灵脚本编辑器开发工具vscode: Download Visual Studio Code - Mac, Linux, Windows

2、安装相应的插件,官网有详细介绍:开发工具 - 开发文档 (touchelf.net)

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

  • 目前插件支持中英文、繁体字识别;
  • 支持小图、区域图和单行文字识别,准确率高达99%;
  • 支持多种返回格式,json\文本\数字\自定义;
  • 支持找字返回坐标并点击;
  • 超高的稳定性,速度快;
  • 不联网、不联网、不联网;

插件集成

1、在vscode中打开TomatoOCRDemo项目:

2、将ios目录下的TomatoOCR.so文件,添加到工程res目录中

3、在main.lua中进行编辑

-- ********************************************************************************************
-- ********欢迎使用TomatoOCR文字识别插件,加入群【754442166、469843332】可获取最新版本!!!************
-- ********************************************************************************************local tomatoOCR = require("TomatoOCRCore")function main()-- 初始化-iostomatoOCR.init("ios")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=2path = script.workingDir()img = path.."/res/test.jpg"screen.snapshot(img, 0, 0, 720, 1280)local res = tomatoOCR.ocrFile(img, type)sys.log(res)-- 找字并点击方法-- 返回"待在的文字"的中心点坐标tomatoOCR.findTapPoint("待在的文字")-- 释放tomatoOCR.release()end

4、点击右上角的远程运行

运行结果:

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

完毕

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

相关文章:

  • mac地址一样,ip不同,能ping通么?
  • 数据结构(C):从初识堆到堆排序的实现
  • Spark介绍及RDD操作
  • 【计算机毕设】基于SpringBoot的医院管理系统设计与实现 - 源码免费(私信领取)
  • 力扣16. 最接近的三数之和
  • Kotlin 泛型
  • 处理一对多的映射关系
  • HCIP的学习(27)
  • 基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • Spring高手之路19——Spring AOP注解指南
  • 【云原生】Docker Compose 使用详解
  • Python 关于字符串格式化
  • C++ : 模板初阶
  • MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程
  • Apache Calcite - 自定义标量函数
  • python3.6+scrapy+mysql 爬虫实战
  • 时间复杂度分析经典问题——最大子序列和
  • 2017 年终总结 —— 在路上
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Brief introduction of how to 'Call, Apply and Bind'
  • IP路由与转发
  • Java深入 - 深入理解Java集合
  • KMP算法及优化
  • Sequelize 中文文档 v4 - Getting started - 入门
  • XML已死 ?
  • 分布式任务队列Celery
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 工程优化暨babel升级小记
  • 关于for循环的简单归纳
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 基于组件的设计工作流与界面抽象
  • 力扣(LeetCode)357
  • 强力优化Rancher k8s中国区的使用体验
  • 如何使用 JavaScript 解析 URL
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 用 Swift 编写面向协议的视图
  • nb
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​ubuntu下安装kvm虚拟机
  • ​力扣解法汇总946-验证栈序列
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (1)(1.9) MSP (version 4.2)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (26)4.7 字符函数和字符串函数
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三) diretfbrc详解
  • (四)Android布局类型(线性布局LinearLayout)
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .Net Winform开发笔记(一)
  • .NET 的程序集加载上下文