欢迎使用OCR服务,这里主要为您介绍如何使用OCR的各种服务,如何快速找到需要的帮助信息。下文主要通过身份证识别服务的例子来介绍各个流程。
参考示例 — 身份证识别
AppKey&AppCode管理:在此处可以查看您的AppKey、AppSecret、AppCode
购买服务
1、开通API网关https://www.aliyun.com/product/apigateway
2、在身份证服务https://market.aliyun.com/products/57124001/cmapi010401.html 页面购买服务
授权API
1、进入API网关-控制台,点击左侧调用API—> 应用管理,创建新应用。
2、应用创建后,点击应用名称,查看应用ID
3、点击左侧已购买API,在对应的API一行中选择查看API,点击授权,输入步骤2获取的应用ID,进行授权即可。
在弹出的授权对话框中,选择要授权的环境(线上、预发或测试),设置授权有效时间(短期或长期),然后在应用搜索区域输入步骤 2 获取的应用 ID 搜索并勾选目标应用,单击确定完成授权。
API调用
API的具体调用方式见身份证服务产品页面
该API的调用地址为 http(s)://cardnumber.market.alicloudapi.com/rest/160601/ocr/ocr_idcard.json,请求方式为 POST,返回类型为 JSON。
具体的示例代码见产品页面的请求示例代码,通过此页面查看APPCODE, 请阅读API介绍-身份证了解身份证服务具体的输入输出格式。
#!/bin/bash
# 运行格式: ./ocr_idcard.sh 你的AppCode "图片本地地址/图片url"
if [ $# -lt 2 ]
then
echo "usage: $0 app_code img_path"
exit 1
fi
if [ -e $2 ]
then
echo "local_path=$2"
echo -e '{"image":"' > body.json
base64 $2 >> body.json
echo -e '","configure":{"side":"face"}' >> body.json
echo -e '}' >> body.json
curl -i -k -X POST 'https://cardnumber.market.alicloudapi.com/rest/160601/ocr/ocr_idcard.json' -H 'Authorization:APPCODE '$1'' -H 'Content-Type:application/json; charset=UTF-8' -d @body.json
rm -rf body.json
else
echo "img_url=$2"
curl -i -k -X POST 'https://cardnumber.market.alicloudapi.com/rest/160601/ocr/ocr_idcard.json' -H 'Authorization:APPCODE '$1'' -H 'Content-Type:application/json; charset=UTF-8' -d '{"image":"'$2'","configure":{"side":"face"}}'
fi
示例如下:
{
"image": "图片二进制数据的base64编码/图片url",
"configure": {
"side":"face", #身份证正反面类型:face/back
"quality_info": false # 是否输出身份证质量分信息,默认为否(包括 是否是翻拍、是否是复印件、完整度评分、整体质量分数、篡改分数)
}
}
上面列出的是识别身份证正面图像的输入格式,主要是传输了图像数据和配置字符串,其中图像是经过base64编码后的数据,配置字符串主要传递了一个参数,表示当前图像为身份证正面图像,进行正面识别。
返回结果示例如下:
正面返回结果:
{
"address" : "浙江省杭州市余杭区文一西路969号", #地址信息
"config_str" : "{\\\"side\\\":\\\"face\\\"}", #配置信息,同输入configure
"face_rect":{ #人脸位置
"angle": -90, #angle表示矩形顺时针旋转的度数
"center":{ #center表示人脸矩形中心坐标
"x" : 952,
"y" : 325.5
},
"size":{ #size表示人脸矩形长宽
"height":181.99,
"width":164.99
}
},
"card_region":[ #身份证区域位置,四个顶点表示
{"x":165,"y":657},
{"x":534,"y":658},
{"x":535,"y":31},
{"x":165,"y":30}
],
"face_rect_vertices":[ #人脸位置,四个顶点表示
{
"x":1024.6600341796875,
"y":336.629638671875
},
{
"x":906.66107177734375,
"y":336.14801025390625
},
{
"x":907.1590576171875,
"y":214.1490478515625
},
{
"x":1025.157958984375,
"y":214.63067626953125
}
],
"name" : "张三", #姓名
"nationality": "汉", #民族
"num" : "1234567890", #身份证号
"sex" : "男", #性别
"birth" : "20000101", #出生日期
"is_fake": false, #是否是复印件
"warning": { # 身份证质量分结果,只有当请求参数 quality_info=true 时,才会返回此字段
"completeness_score": 100, # 完整度评分(浮点类型)
"is_copy": 0, # 是否是复印件(1:是,0:否)
"is_reshoot": 0, # 是否是翻拍(1:是,0:否)
"quality_score": 89.296059, # 整体质量分数(浮点类型)
"tamper_score": 99.99968. # 篡改分数(数值越大表示篡改可能性越大,推荐阈值:60)
},
"success" : true #识别结果,true表示成功,false表示失败
}
反面返回结果:
{
"config_str" : "{\\\"side\\\":\\\"back\\\"}", #配置信息,同输入configure
"start_date" : "19700101", #有效期起始时间
"end_date" : "19800101", #有效期结束时间
"issue" : "杭州市公安局", #签发机关
"is_fake": false, #是否是复印件
"success" : true #识别结果,true表示成功,false表示失败
}