zm.OcrBaiDuIDCard 百度云身份证识别
🎯功能
识别身份证正背面, 内置固定的请求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","姓名":"紫猫", ...}
, 详细请自行遍历查看, 失败返回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.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)
📘备注
- 本命令调用百度云的通用文字识别功能, 此命令的任何充值消费行为均与紫猫编程学园无关
- 请自己注册帐号, 试用后再决定是否充值使用
- 后台创建步骤:
- 本命令通过修改 zm.OcrBaiDuInit 设置百度云文字识别 的请求参数, 实现更多功能, 详见详见百度云文字识别API文档的请求说明内容
- V1.1747: 加入命令
- V3.1849: 支持超级缩放