首页 > 其他 > 详细

百度人脸识别SDK

时间:2020-02-14 20:58:22      阅读:73      评论:0      收藏:0      [点我收藏+]

调用百度sdk进行人脸的录入,识别等操作。

使用的是java SDK ,这里给出说明文档地址:http://ai.baidu.com/docs#/BodyAnalysis-Java-SDK/top

这里贴出部分代码,参数参考说明文档即可,所有增删改查大多相同的做法。

技术分享图片
//网络申请调用函数进行人脸识别
new Thread(new Runnable() {
  public void run() {
    // 初始化一个AipFace
    AipFace client=new AipFace("申请后分配的的APPID","申请后分配的Api key","申请后分配的Secret key");

    // 传入可选参数调用接口
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("user_info", user_info);
    options.put("quality_control", "NORMAL");
    options.put("liveness_control", "LOW");
    //image取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串,我这里传入BASE64字符串
    String image = result;
    String imageType = "BASE64";
    String groupId = groupid;
    String userId = id;

    /*  检测人脸是否存在
    * 存在,返回该人脸已经存在
    * 不存在,即插入*/
    // 传入可选参数调用接口
    HashMap<String, String> options1 = new HashMap<String, String>();
    options1.put("quality_control", "NORMAL");
    options1.put("liveness_control", "LOW");
    options1.put("max_user_num", "1");

    //从指定的group中进行查找 用逗号分隔,上限20个
    String groupIdList = groupid;
    //这里对人脸先检索,是否已经录入,设置判定条件为返回score大于80即代表同一个人
    res1 = client.search(result, imageType, groupIdList, options);
     if(getScore(res1)>80) {
         Looper.prepare();
         Toast.makeText(InputActivity.this, "该人脸已存在!", Toast.LENGTH_SHORT).show();
         Looper.loop();
     }else{
    // 人脸注册,返回代码0,即为录入成功
    JSONObject res = client.addUser(image, imageType, groupId, userId, options);
    if(getCode(res).equals("0")){
        Looper.prepare();
        Toast.makeText(InputActivity.this, "录入成功!", Toast.LENGTH_SHORT).show();
        Looper.loop();
    } else {
        Looper.prepare();
        Toast.makeText(InputActivity.this, "换个姿势,再试试吧", Toast.LENGTH_SHORT).show();
        Looper.loop();
    }

}}).start();
技术分享图片

 

技术分享图片
//解析返回的人脸识别结果,返回识别分数,识别大于80则能录入
public float getScore(JSONObject res){

    try{
        JSONObject js = new JSONObject(res.optString("result"));

        JSONArray rs = new JSONArray(js.optString("user_list"));

        score =(float) rs.optJSONObject(0).optDouble("score");

    }catch (Exception e){
        e.printStackTrace();
    }
    return score;
}

 

 

百度人脸识别SDK

原文:https://www.cnblogs.com/ljincheng/p/12309385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!