第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 百度智能云身份证识别API的使用

百度智能云身份证识别API的使用

时间:2018-12-11 05:30:13

相关推荐

百度智能云身份证识别API的使用

前言

系统账号需要进行身份认证的时候,注册用户需要上传本人身份证照片。百度云身份证识别接口可以识别身份证照片并提取身份证上面的信息作为响应返回。如姓名,身份证号等。

一、工作准备

1、注册登录百度智能云官网。

2、对百度智能云账号进行个人身份认证。(不知道为什么我的人脸认证一直不通过,可以试试银行卡号认证。)

二、使用步骤

1.创建应用

进入控制台,选择产品服务》》人工智能》》文字识别

在应用列表中创建应用

在创建应用的时候,会提醒你领取免费资源(即接口免费使用的次数,身份证识别接口一个月1000次。无时间限制)

2.java代码如何使用接口

点击HTTP SDK 可以查看详细教程。

添加以下依赖即可,其中版本号可在maven官网查询

<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.12.0</version></dependency>

这个是JSONObject转java对象的依赖

<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.2.3</version><classifier>jdk15</classifier></dependency>

进行身份证识别的工具类。返回结果是自定义的类。便于操作相应属性。

/*** 上传身份证进行提起信息工具类*/public class Sample {//设置APPID/AK/SKpublic static final String APP_ID = "";public static final String API_KEY = "";public static final String SECRET_KEY = "";public static IdCard getPictureString(String photoPath){// 初始化一个AipOcrAipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);// 传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();// 是否检测图像旋转角度options.put("detect_direction", "false");// 是否开启身份证风险类型options.put("detect_risk", "false");// 正反面front /backString idCardSide = "front";// 参数为本地图片路径try {JSONObject res = client.idcard(photoPath, idCardSide, options);if (res != null) {//接口返回身份证的数据和坐标,我们从其中取出数据返回JSONObject idCard = new JSONObject();JSONObject words_result = res.getJSONObject("words_result");//依次需要的数据idCard.put("name", words_result.getJSONObject("姓名").get("words"));idCard.put("nation", words_result.getJSONObject("民族").get("words"));idCard.put("address", words_result.getJSONObject("住址").get("words"));idCard.put("sex", words_result.getJSONObject("性别").get("words"));idCard.put("birth", words_result.getJSONObject("出生").get("words"));idCard.put("number", words_result.getJSONObject("公民身份号码").get("words"));net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(idCard.toString(2));IdCard idcard=(IdCard)net.sf.json.JSONObject.toBean(jsonObject, IdCard.class);return idcard;} else {return null;}}catch (JSONException e){e.printStackTrace();}return null;}}

IdCard 类和百度智能云接口返回的结果对应的自定义类。

@Componentpublic class IdCard {private String name;private String nation;private String address;private String sex;private String birth;private String number;}

总结

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。