zm.OcrBaiDuIDCard 百度云身份证识别

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

功能

识别身份证正背面, 内置固定的请求URL, 除图片和正背面id_card_side参数外的请求参数通过 zm.OcrBaiDuInit 设置百度云文字识别 设置, 具体内容见百度云文字识别API文档

语法

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

参数

参数 数据类型 解释
正背面 字符串 必选, 身份证照片的正背面, 正面照片填写"正面""front", 背面照片填写"背面""back"
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
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.OcrBaiDuIDCard("正面", 0, 0, 0, 0)
If ret then
TracePrint "姓名:", ret["姓名"]
TracePrint "公民身份号码:", ret["证件号"]
//更多输出请自行遍历
Else
TracePrint "识别失败"
End If

//例子2: 在例子1的基础上, 增加开启检测朝向功能
Dim args = {"detect_direction":"true"}
zm.OcrBaiDuInit args
//本地图片识别身份证
ret = zm.OcrBaiDuIDCard("back", "/sdcard/紫猫身份证.png", t)
TracePrint "识别结果:", zm.VarInfo(ret)
TracePrint "原生返回值:", zm.VarInfo(t)

备注

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