栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

前言

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


一、工作准备

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

二、使用步骤 1.创建应用

进入控制台,选择产品服务》》人工智能》》文字识别
在应用列表中创建应用

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

2.java代码如何使用接口

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


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


    com.baidu.aip
    java-sdk
     4.12.0

这个是JSONObject转java对象的依赖

 
    net.sf.json-lib
    json-lib
    2.2.3
    jdk15
 

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

public class Sample {
    //设置APPID/AK/SK
    public static final String APP_ID = "26196198";
    public static final String API_KEY = "yFlcsaKcpVby8BwE6GZInhsI";
    public static final String SECRET_KEY = "ktdE2O0MaY8qTOh7PvPQtT1m7s482aae";

    public static IdCard getPictureString(String photoPath){
        // 初始化一个AipOcr
        AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);
        // 传入可选参数调用接口
        HashMap options = new HashMap();
        // 是否检测图像旋转角度
        options.put("detect_direction", "false");
        // 是否开启身份证风险类型
        options.put("detect_risk", "false");
        // 正反面front /back
        String 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 类和百度智能云接口返回的结果对应的自定义类。

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

总结
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号