触动精灵云打码
"本地光学字符识别" 简称本地 OCR,由于特征库、性能的限制,识别速度慢、识别率也比较差。
触动精灵提供云打码扩展库来解决这一问题。
该扩展库支持如下打码平台:
使用方法
下载扩展库,iOS 将 cloudOcr.so 插件放入插件 /plugin 目录,触动精灵 v2.0 以上版本,可以在更多 - 文件管理 - 插件中下载,在脚本开头插入 local ocr = require "cloudOcr" 即可。
Android 将插件放入 /data/data/com.touchsprite.android/ 目录下,标准版可以在我的账号 - 文件管理 - 插件中下载,在脚本开头插入 local ocr = require "cloudOcr" 即可。
安卓设备找不到该目录时需要使用第三方文件管理器,推荐 re文件管理器
企业版 iOS V1.3.6 及以上版本已内置本插件,无需额外下载
小精灵此文件已内置,小精灵勾选云打码可以直接调用。
企业版用户如果不能正常使用本插件,建议使用基础扩展库的云打码 → ocr 云打码扩展库
插件下载
平台 | 版本 | 更新日期 | 下载地址 |
---|---|---|---|
iOS | v1.1.6 | 2018-03-20 | iOS-v1.1.6 |
安卓真机 | v1.1.6 | 2018-03-20 | 安卓真机-v1.1.6 |
安卓模拟器 | v1.1.6 | 2018-03-20 | 安卓模拟器-v1.1.6 |
函数:ocr.cloudOcrText、ocr.cloudOcrReportError、ocr.version
函数名称:云端打码、自动纠错、获取扩展库版本号
函数功能:云端打码、打码自动纠错、获取云打码扩展库版本号
函数方法
ret = ocr.cloudOcrText(op)
返回值:返回一个 table
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
platform | string | 是 | 平台类型,火眼 - hyocr, 推荐基础扩展库的云打码 → ocr 云打码扩展库 |
x1,y1 | number | 是 | 识别区域左上角顶点坐标 |
x2,y2 | number | 是 | 识别区域右下角顶点坐标 |
type | string | 是 | 打码类型,可在火眼平台官网查询 |
username | string | 是 | 打码平台用户名,需用户去相应平台自行注册 |
password | string | 是 | 打码平台密码串,需用户去相应平台自行注册 |
length | number | 是 | 打码长度(可选参数),默认为 0 |
timeout | number | 否 | 超时时间(可选参数),默认为 10 秒 |
scale | number | 否 | 缩放比例(可选参数),默认为 100,即不进行缩放 |
beizhu | string | 否 | 备注(可选参数),默认为空 |
返回值 | 类型 | 说明 |
---|---|---|
ret.success | boolean | true 打码成功,false 失败 |
ret.text | string | 返回的识别结果,在 success == true 时存在 |
ret.message | string | 消息,在 success == fasle 时,返回错误原因 |
ret.id | table | 打码标识,在 success == true 时存在,用于打码自动纠错 |
函数用例
local ocr = require "cloudOcr";
local op = {
--必填参数
["platform"]="hyocr", --平台类型,具体参数参照参数表
["x1"]=1848, --需要识别区域左上角坐标
["y1"]=473,
["x2"]=2029, --需要识别区域右下角坐标
["y2"]=561,
["type"]="52", --打码类型,可在对应平台官网查询
["username"]="user", --打码平台账号
["password"]="password", --打码平台密码
--选填参数
["length"]=4, --打码长度
["timeout"]=30, --超时时间
["scale"]=50, --缩放比例,范围 10 - 200,在某些待识别区域过大的时候可设置此参数
};
local ret = ocr.cloudOcrText(op);
if ret.success then
dialog(ret.text,0)
else
dialog(ret.message,0)
end
--自动纠错
local ocr = require "cloudOcr"; --载入扩展库
local ret = ocr.cloudOcrText(op); --进行远程识别
if ret.success then
ret_1 = ocr.cloudOcrReportError(ret.id); --自动纠错,ret.id 从 ocr.cloudOcrText 返回值中获取
end
local ocr = require "cloudOcr";
local ver = ocr.version(); --获取扩展库版本号
注意事项
- 最新云打码可在触动精灵 iOS v2.0 以上版本插件管理中下载安装,更简单的方法推荐使用基础扩展库的云打码 → ocr 云打码扩展库。
- 打码函数传入的参数为 table 类型,使用时请参照参数表中详细说明。
- 火眼答题平台,用户名参数可以为空,密码串需要用户注册登陆后在火眼平台的后台进行查看。