zm.OcrBaiDuReceipt 百度云通用票据识别
🎯功能
识别医疗票据/发票/的士票/保险保单等票据类图片中的所有文字, 内置固定的请求URL, 除图片参数外的请求参数通过 zm.OcrBaiDuInit 设置百度云文字识别 设置, 具体内容见百度云文字识别API文档
📜语法
结果 = zm.OcrBaiDuReceipt([x1, y1, x2, y2][, 图片路径][, 返回json])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
x1 | 数值型 | 可选, 识别范围的左上角x坐标, 与图片路径参数二选一 |
y1 | 数值型 | 可选, 识别范围的左上角y坐标, 与图片路径参数二选一 |
x2 | 数值型 | 可选, 识别范围的右下角x坐标, 与图片路径参数二选一 |
y2 | 数值型 | 可选, 识别范围的右下角y坐标, 与图片路径参数二选一 |
图片路径 | 字符串 | 可选, 要识别内容的图片本地路径, 与范围参数二选一 |
返回json | 表 | 可选, 数组变量, 一般不建议填写, 以表的形式返回原生结果, 详见百度云文字识别API文档的返回说明内容 |
📤返回
数组
, 返回优化后的识别结果, 格式类似于 {"345911220","紫猫", ...}
, 详细请自行遍历查看, 失败返回null
💡示例
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
Dim ret, t()
//例子1: 设置key
If Not zm.OcrBaiDuInit("请修改成你的API Key", "请修改成你的Secret Key") Then
TracePrint "初始化设置百度云识别失败"
EndScript
End If
//全屏识别发票
ret = zm.OcrBaiDuReceipt(0, 0, 0, 0)
If ret then
For i = 0 to UBound(ret)
TracePrint ret(i)
Next
//更多输出请自行遍历
Else
TracePrint "识别失败"
End If
//例子2: 在例子1的基础上, 增加开启检测朝向功能
Dim args = {"detect_direction":"true"}
zm.OcrBaiDuInit args
//本地图片识别的士票
ret = zm.OcrBaiDuReceipt("/sdcard/紫猫的士票.png", t)
TracePrint "识别结果:", zm.VarInfo(ret)
TracePrint "原生返回值:", zm.VarInfo(t)
📘备注
- 本命令调用百度云的通用文字识别功能, 此命令的任何充值消费行为均与紫猫编程学园无关
- 请自己注册帐号, 试用后再决定是否充值使用
- 后台创建步骤:
- 本命令通过修改 zm.OcrBaiDuInit 设置百度云文字识别 的请求参数, 实现更多功能, 详见详见百度云文字识别API文档的请求说明内容
- V1.1747: 加入命令
- V3.1849: 支持超级缩放