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

百度智能云身份z识别API的使用,第1张

前言

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


一、工作准备

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

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

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

在创建应用的时候,会提醒你领取免费资源(即接口免费使用的次数,身份z识别接口一个月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>

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

/**
 * 上传身份z进行提起信息工具类
 */
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<String, String> options = new HashMap<String, String>();
        // 是否检测图像旋转角度
        options.put("detect_direction", "false");
        // 是否开启身份z风险类型
        options.put("detect_risk", "false");
        // 正反面front /back
        String idCardSide = "front";

        // 参数为本地图片路径
        try {
            JSONObject res = client.idcard(photoPath, idCardSide, options);
            if (res != null) {
                //接口返回身份z的数据和坐标,我们从其中取出数据返回
                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;
}

总结

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/904769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-15
下一篇 2022-05-15

发表评论

登录后才能评论

评论列表(0条)

保存