/ocr/driving_license_v2
1.接口描述
该 API 用于识别静态驾驶证图像上的文字信息,可以同时识别正页和副页。
- 图片要求:
- 格式为 JPG(JPEG),BMP,PNG
- 宽和高大于 100px,小于等于 4000px
- 小于等于 2 MB
请求方式
POST
请求 URL
https://cloudapi.linkface.cn/ocr/driving_license_v2
2.请求参数
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
api_id | string | 是 | API 账户 |
api_secret | string | 是 | API 密钥 |
file | file | 见下方注释 | 需上传的图片文件,上传本地图片进行检测时选取此参数 |
url | string | 见下方注释 | 图片网络地址,采用抓取网络图片方式时需选取此参数 |
image_id | string | 见下方注释 | 图片的id,在云端上传过图片可采用此参数 |
请求参数
file
,url
与image_id
必须选择其中的一个。url 中含有不少特殊字符,若将 URL 放入 Query String 中则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。 目前支持 http/https 等协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。 参数
file
需把图片文件的内容以 multipart/form-data 的形式放到 POST 消息体中。
3.返回参数
字段 | 类型 | 说明 |
---|---|---|
request_id | string | 本次请求的id |
status | string | 返回状态,正常为 OK ,其他值表示失败,详见错误码 |
image_id | string | 使用file、url方式上传图片返回的图片的云端id |
result | array of object | 驾驶证文字信息,详见result 数组中字段的结构 |
score | array of object | 文字信息识别结果的置信度,详见score 数组中字段的结构 |
result
数组中字段的结构为:
{
"page_a": { # 正页
"id": string, # 驾驶证号
"name": string, # 姓名
"gender": string, # 性别
"nationality": string, # 国籍
"address": string, # 住址
"birthday": string, # 出生日期
"issue_by":string, #签发机关
"date_of_first_issue": string, # 初次领证日期
"type": string, # 准驾车型
"version": string,#版本号,2008或更早版本返回1,2013版本返回2
"valid_from": string, # 有效起始日期,`version`为1时返回此字段,其他情况此字段为空
"valid_for": string # 有效期限长度,`version`为1时返回此字段,其他情况此字段为空
"valid_date": string #有效期限,`version`为2时返回此字段,其他情况此字段为空
},
"page_b": { # 副页
"id": string, # 驾驶证号
"name": string, # 姓名
"file_number": string, # 档案编号
}
}
score
数组中字段的结构为:
{
"page_a": { # 正页
"id": float, # 驾驶证号
"name": float, # 姓名
"gender": float, # 性别
"nationality": float, # 国籍
"address": float, # 住址
"birthday": float, # 出生日期
"issue_by":float, #签发机关
"date_of_first_issue": float, # 初次领证日期
"type": float, # 准驾车型
"version": float,#版本号,默认为0
"valid_from": float, # 有效起始日期,`version`为1时返回此字段,其他情况此字段为0
"valid_for": float # 有效期限长度,`version`为1时返回此字段,其他情况此字段为0
"valid_date": float #有效期限,`version`为2时返回此字段,其他情况此字段为0
},
"page_b": { # 副页
"id": float, # 驾驶证号
"name": float, # 姓名
"file_number": float, # 档案编号
}
}
驾驶证识别结果示例
version: 1 时返回结果
"request_id": "TID6c739d2c723a4346b1b2a850bf6c2113",
"status": "OK",
"image_id": "a8cb2a6c9c74b0068e6ea4b58ccd3d31",
"result": {
"page_a": {
"id": "350103************",
"name": "李**",
"gender": "男",
"nationality": "中国",
"address": "福建省************",
"birthday": "1986-08-03",
"issue_by": "福建省******交通警察支队",
"date_of_first_issue": "2011-07-13",
"type": "C1",
"version": "1",
"valid_from": "2011-07-13",
"valid_for": "6年",
"valid_date": ""
},
"page_b": {
"id": "350103************",
"name": "李**",
"file_number": "350********"
}
},
"score": {
"page_a": {
"id": 99.951,
"name": 99.546,
"gender": 100,
"nationality": 100,
"address": 99.36,
"birthday": 99.91,
"issue_by": 99.852,
"date_of_first_issue": 99.96,
"type": 100,
"version": 0,
"valid_from": 0,
"valid_for": 0,
"valid_date": 99.938
},
"page_b": {
"id": 99.829,
"name": 99.679,
"file_number": 99.99
}
}
}
version: 2 时返回结果
"request_id": "TID6c739d2c723a4346b1b2a850bf6c2113",
"status": "OK",
"image_id": "a8cb2a6c9c74b0068e6ea4b58ccd3d31",
"result": {
"page_a": {
"id": "142625************",
"name": "张**",
"gender": "男",
"nationality": "中国",
"address": "山西省************",
"birthday": "1992-08-26",
"issue_by": "山西省******交通警察支队",
"date_of_first_issue": "2017-09-01",
"type": "C1",
"version": "2",
"valid_from": "",
"valid_for": "",
"valid_date": "2017-09-01至2023-09-01"
},
"page_b": {
"id": "142625************",
"name": "张**",
"file_number": "141********"
}
},
"score": {
"page_a": {
"id": 99.975,
"name": 99.896,
"gender": 100,
"nationality": 100,
"address": 99.145,
"birthday": 99.9,
"issue_by": 99.785,
"date_of_first_issue": 99.986,
"type": 100,
"version": 0,
"valid_from": 0,
"valid_for": 0,
"valid_date": 99.983
},
"page_b": {
"id": 99.892,
"name": 99.967,
"file_number": 99.984
}
}
}
4.错误码
状态码 | status 字段 |
说明 |
---|---|---|
400 |
ENCODING_ERROR | 参数非UTF-8编码 |
400 |
DOWNLOAD_TIMEOUT | 网络地址图片获取超时 |
400 |
IMAGE_ID_NOT_EXIST | 图片不存在 |
400 |
CORRUPT_IMAGE | 文件不是图片文件或已经损坏 |
400 |
DOWNLOAD_ERROR | 网络地址图片获取失败 |
400 |
IMAGE_FILE_SIZE_TOO_BIG | 图片体积过大 |
400 |
INVALID_IMAGE_FORMAT_OR_SIZE | 图片大小或格式不符合要求 |
400 |
INVALID_ARGUMENT | 请求参数错误,具体原因见 reason 字段内容 |
400 |
INVALID_DRIVING_LICENSE | 驾驶证图片识别错误 |
401 |
UNAUTHORIZED | 账号或密钥错误 |
401 |
KEY_EXPIRED | 账号过期,具体情况见 reason 字段内容 |
403 |
RATE_LIMIT_EXCEEDED | 调用频率超出限额 |
403 |
NO_PERMISSION | 无调用权限 |
403 |
OUT_OF_QUOTA | 调用次数超出限额 |
404 |
NOT_FOUND | 请求路径错误 |
500 |
SYSTEM_ERROR | 识别服务器异常 |
500 |
INTERNAL_ERROR | 服务器内部错误 |
输出样例
{
"status": "INVALID_ARGUMENT",
"reason": "must specify 'image_id', 'file' or 'url' argument",
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}
5.输入示例
cURL 样例
curl -X POST "https://cloudapi.linkface.cn/ocr/driving_license_v2?api_id=ID&api_secret=SECRET" \
-F file=@/PATH/TO/IMAGE