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: 支持超级缩放