zoukankan      html  css  js  c++  java
  • 百度人脸识别SDK

    调用百度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;
    }
     
  • 相关阅读:
    linux下weblogic11g成功安装后,启动报错Getting boot identity from user
    小胖说事35-----Terminating app due to uncaught exception &#39;CALayerInvalidGeometry&#39;, reason: &#39;CALayer posi
    凡客诚品站点打不开:页面显示域名到期了!
    Struts2框架起源
    3、Cocos2dx 3.0游戏开发找小三之搭建开发环境
    android对话框,checkBox,同一时候在同一个页面上保存数据
    使用 C# 开发智能手机软件:推箱子(十八)
    python核心编程——python对象
    设计模式----外观模式
    2014 Multi-University Training Contest 1/HDU4864_Task(贪心)
  • 原文地址:https://www.cnblogs.com/ljincheng/p/12309385.html
Copyright © 2011-2022 走看看