zm.OcrBaiDuReceipt 百度云通用票据识别

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

识别医疗票据/发票/的士票/保险保单等票据类图片中的所有文字, 内置固定的请求URL, 除图片参数外的请求参数通过 zm.OcrBaiDuInit 设置百度云文字识别 设置, 具体内容见百度云文字识别API文档

语法

结果 = zm.OcrBaiDuReceipt([x1, y1, x2, y2][, 图片路径][, 返回json])

参数

参数 数据类型 解释
x1 数值型 可选, 识别范围的左上角x坐标, 与图片路径参数二选一
y1 数值型 可选, 识别范围的左上角y坐标, 与图片路径参数二选一
x2 数值型 可选, 识别范围的右下角x坐标, 与图片路径参数二选一
y2 数值型 可选, 识别范围的右下角y坐标, 与图片路径参数二选一
图片路径 字符串 可选, 要识别内容的图片本地路径, 与范围参数二选一
返回json _表_ 可选, 数组变量, 一般不建议填写, 以表的形式返回原生结果, 详见百度云文字识别API文档的返回说明内容

返回值

_数组_, 返回优化后的识别结果, 格式类似于{“345911220”,”紫猫”, …}, 详细请自行遍历查看, 失败返回nil

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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)

备注

  • 本命令调用百度云的通用文字识别功能, 此命令的任何充值消费行为均与紫猫编程学院无关
  • 请自己注册帐号, 试用后再决定是否充值使用
  • 后台创建步骤:
    • 前往百度云AI官网注册并登录
    • 打开文字识别控制台
    • 点击创建应用, 并输入应用名称与应用描述
    • 查看刚刚创建的应用, 就可以查到API Key和Secret Key
  • 本命令通过修改 zm.OcrBaiDuInit 设置百度云文字识别 的请求参数, 实现更多功能, 详见详见百度云文字识别API文档的请求说明内容
  • V1.1747: 加入命令
  • V3.1849: 支持超级缩放