目的
触摸精灵iOS是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。但触摸精灵的图色功能比较单一,无法识别屏幕上的图像,根据图像的变化自动执行相应的操作。本篇文章主要讲解下触动精灵TomatoOCR纯本地离线文字识别插件如何使用和集成。
准备工作
1、下载触摸精灵脚本编辑器开发工具vscode: Download Visual Studio Code - Mac, Linux, Windows
2、安装相应的插件,官网有详细介绍:开发工具 - 开发文档 (touchelf.net)
3、下载TomatoOCR纯本地离线文字识别插件
- 目前插件支持中英文、繁体字识别;
- 支持小图、区域图和单行文字识别,准确率高达99%;
- 支持多种返回格式,json\文本\数字\自定义;
- 支持二值化
- 支持找字返回坐标并点击;
- 超高的稳定性,速度快;
- 不联网、不联网、不联网;
插件集成
1、在vscode中打开TomatoOCRDemo项目:
2、将ios目录下的TomatoOCR.so文件,添加到工程res目录中
3、在main.lua中进行编辑
-- ********************************************************************************************
-- ********欢迎使用TomatoOCR文字识别插件,加入群【754442166、469843332】可获取最新版本!!!************
-- ********************************************************************************************
local tomatoOCR = require("TomatoOCRCore")
function main()
-- 初始化-ios
tomatoOCR.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=2
path = 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语言功能很全,原生插件集成可以采用直连的方式,但相比部署在服务器上,还是减少了很多资源占用情况,更加方便便捷。