1、通过API文档方式实现1.1、接口描述 支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,识别准确率超过99%;同时支持身份证正面头像检测,并返回头像切片的base64编码及位置信息。 同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。1.2、增值功能
增值能力 | 详情 |
裁剪能力 |
头像检测与切片:返回头像切片的base64编码及位置信息 |
质量检测 |
身份证图片模糊检测 |
身份证关键字段反光或过曝光 |
身份证图片较暗或欠曝光 |
风险检测 |
身份证复印件告警 |
临时身份证告警 |
身份证翻拍告警 |
身份证PS编辑告警 |
身份证证号不合法告警 |
身份证证号和姓名、出生日期、性别信息不一致告警 |
1.3.1、请求说明
HTTP 方法:
请求URL:
请求参数:
参数 | 值 |
access_token |
通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
参数 | 值 |
Content-Type |
application/x-www-form-urlencoded |
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
image |
和url二选一 |
string |
- |
图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 |
url |
和image二选一 |
string |
- |
图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式,当image字段存在时url字段失效请注意关闭URL防盗链 |
id_card_side |
是 |
string |
front/back |
-front:身份证含照片的一面-back:身份证带国徽的一面自动检测身份证正反面,如果传参指定方向与图片相反,支持正常识别,返回参数image_status字段为"reversed_side" |
detect_direction |
否 |
string |
- |
此参数新版本无需传,支持自动检测图像旋转角度 |
detect_risk |
否 |
string |
true/false |
是否开启身份证风险类型(身份证复印件、临时身份证、身份证翻拍、修改过的身份证)功能,默认不开启,即:false。-true:开启,请查看返回参数risk_type;-false:不开启 |
detect_photo |
否 |
string |
true/false |
是否检测头像内容,默认不检测。可选值:true-检测头像并返回头像的 base64 编码及位置信息 |
detect_rectify |
否 |
string |
- |
此参数新版本无需传,支持自动校验图片完整性,可识别完整和切片身份证 |
字段 | 是否必选 | 类型 | 说明 |
direction |
否 |
int32 |
图像方向,当图像旋转时,返回该参数。- -1:未定义,- 0:正向,- 1: 逆时针90度,- 2:逆时针180度,- 3:逆时针270度 |
image_status |
是 |
string |
normal-识别正常reversed_side-身份证正反面颠倒non_idcard-上传的图片中不包含身份证blurred-身份证模糊other_type_card-其他类型证照over_exposure-身份证关键字段反光或过曝over_dark-身份证欠曝(亮度过低)unknown-未知状态 |
risk_type |
否 |
string |
输入参数 detect_risk = true 时,则返回该字段识别身份证类型: normal-正常身份证;copy-复印件;temporary-临时身份证;screen-翻拍;unknown-其他未知情况 |
edit_tool |
否 |
string |
如果参数 detect_risk = true 时,则返回此字段。如果检测身份证被编辑过,该字段指定编辑软件名称,如:Adobe Photoshop CC 2014 (Macintosh),如果没有被编辑过则返回值无此参数 |
log_id |
是 |
uint64 |
唯一的log id,用于问题定位 |
photo |
否 |
string |
当请求参数 detect_photo = true时返回,头像切图的 base64 编码(无编码头,需自行处理) |
photo_location |
否 |
array() |
当请求参数 detect_photo = true时返回,头像的位置信息(坐标0点为左上角) |
idcard_number_type |
是 |
string |
用于校验身份证号码、性别、出生是否一致,输出结果及其对应关系如下:-1: 身份证正面所有字段全为空0: 身份证证号不合法,此情况下不返回身份证证号1: 身份证证号和性别、出生信息一致2: 身份证证号和性别、出生信息都不一致3: 身份证证号和出生信息不一致4: 身份证证号和性别信息不一致 |
words_result |
是 |
array() |
定位和识别结果数组 |
words_result_num |
是 |
uint32 |
识别结果数,表示words_result的元素个数 |
+location |
是 |
array() |
位置数组(坐标0点为左上角) |
++left |
是 |
uint32 |
表示定位位置的长方形左上顶点的水平坐标 |
++top |
是 |
uint32 |
表示定位位置的长方形左上顶点的垂直坐标 |
++width |
是 |
uint32 |
表示定位位置的长方形的宽度 |
++height |
是 |
uint32 |
表示定位位置的长方形的高度 |
+words |
否 |
string |
识别结果字符串 |
1.3.2、请求代码
图片路径、front/back为身份证的正反面,token的获取需要在别的一个工具类中获取
2、通过SDK文档方式实现
2.1、OCR Java SDK目录结构
2.2、依赖的包
2.3、测试demo
这几个参数在百度AI开放平台直接即可
2.4、测试代码
后期完善参数信息