触动精灵安卓版纯本地离线文字识别插件,支持小精灵

目的

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

         当然除了安卓版的,iOS也有相应的文字识别插件:触动精灵iOS版纯离线本地文字识别插件,支持小精灵

准备工作

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

        

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

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

插件集成

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

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

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

3、文件关联

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

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

4、在main.lua中进行编辑

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

-- 注意:在ios小精灵中,可将TomatoOCR.so文件手动放置到【userPath().."/plugin"】目录下
-- 注意:在android小精灵中,可将TomatoOCR.opt文件手动放置到【userPath().."/res"】目录下


local tomatoOCR = require("TomatoOCRCore")


-- 初始化-android-触动精灵
tomatoOCR.init("android")

-- 初始化-android-触动小精灵
tomatoOCR.init("android-x")

-- 初始化-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",仅只返回这些内容


tomatoOCR.setBinaryThresh(100) -- 二值化设定,非必须


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, 720, 1280)
path = userPath();
img = path.."/res/test.png"
local res = tomatoOCR.ocrFile(img, type)
toast(res, 10)

-- 找字并点击方法
-- 返回"待在的文字"的中心点坐标
tomatoOCR.findTapPoint("待在的文字")

-- 释放
tomatoOCR.release()
function beforeUserExit()  -- 停止脚本,将会触发 beforeUserExit 函数
    tomatoOCR.release()
end

5、运行

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

 注:触动安卓小精灵比较特殊,不支持so文件,所以插件将命名为opt文件

初始化的时候,传入“android-x”即可。或者从网络中下载:

local path = userPath();
local tmp = path.."/res/"    -- 安卓小精灵

-- 下载文件
os.execute("curl -L -o "..tmp.."TomatoOCR.opt https://fj.ly93.cc/19/1586302341/TomatoOCR.opt")

-- 下载opt文件
os.execute("curl -L -o "..tmp.."det.opt https://fj.ly93.cc/19/1586302611/det.opt")
os.execute("curl -L -o "..tmp.."cls.opt https://fj.ly93.cc/19/1586302369/cls.opt")
os.execute("curl -L -o "..tmp.."rec.opt https://fj.ly93.cc/19/1586302368/rec.opt")
os.execute("curl -L -o "..tmp.."rec_v3.opt https://fj.ly93.cc/19/1586302629/rec_v3.opt")
os.execute("curl -L -o "..tmp.."rec_cht.opt https://fj.ly93.cc/19/1586302347/rec_cht.opt")
os.execute("curl -L -o "..tmp.."rec_japan.opt https://fj.ly93.cc/19/1586302352/rec_japan.opt")
os.execute("curl -L -o "..tmp.."rec_korean.opt https://fj.ly93.cc/19/1586302386/rec_korean.opt")

完毕

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

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值