首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java工具集-百度云人脸识别工具类

Java工具集-百度云人脸识别工具类

作者头像
cwl_java
发布2020-02-11 14:04:43
7880
发布2020-02-11 14:04:43
举报
文章被收录于专栏:cwl_Javacwl_Java
  1. 添加依赖
        <!-- 百度云AI API-->
        <dependency>
            <groupId>com.baidu.aip</groupId>
            <artifactId>java-sdk</artifactId>
            <version>4.8.0</version>
        </dependency>
  1. 代码示例
package com.simple.util.baidu;

import com.baidu.aip.face.AipFace;
import org.json.JSONArray;
import org.json.JSONObject;

import java.util.HashMap;

/**
 * @program: simple_tools
 * @description:
 * @author: ChenWenLong
 * @create: 2019-12-31 09:56
 **/
public class BaiduAiUtil {

    // 以下内容请在注册百度云之后,在百度云中获取
    private static final String APP_ID = "该内容请在注册百度云之后,在百度云中获取";
    private static final String API_KEY = "该内容请在注册百度云之后,在百度云中获取";
    private static final String SECRET_KEY = "该内容请在注册百度云之后,在百度云中获取";
    private static final String IMAGE_TYPE = "该内容请在注册百度云之后,在百度云中获取";
    private static final String GROUP_ID = "该内容请在注册百度云之后,在百度云中获取";

    private static AipFace client;

    private static HashMap<String, String> options = new HashMap<String, String>();

    public BaiduAiUtil() {
        options.put("quality_control", "NORMAL");
        options.put("liveness_control", "LOW");
    }

    static {
        client = new AipFace(APP_ID, API_KEY, SECRET_KEY);
    }

    /**
     * 功能描述:
     * 〈人脸注册 :将用户照片存入人脸库中〉
     *
     * @params : [userId, image]
     * @return : java.lang.Boolean
     * @author : cwl
     * @date : 2019/12/31 10:00
     */
    public static Boolean faceRegister(String userId, String image) {
        // 人脸注册
        JSONObject res = client.addUser(image, IMAGE_TYPE, GROUP_ID, userId, options);
        Integer errorCode = res.getInt("error_code");
        return errorCode == 0 ? true : false;
    }

    /**
     * 功能描述:
     * 〈人脸更新 :更新人脸库中的用户照片〉
     *
     * @params : [userId, image]
     * @return : java.lang.Boolean
     * @author : cwl
     * @date : 2019/12/31 10:01
     */
    public static Boolean faceUpdate(String userId, String image) {
        // 人脸更新
        JSONObject res = client.updateUser(image, IMAGE_TYPE, GROUP_ID, userId, options);
        Integer errorCode = res.getInt("error_code");
        return errorCode == 0 ? true : false;
    }

    /**
     * 功能描述:
     * 〈人脸检测:判断上传图片中是否具有面部头像〉
     *
     * @params : [image]
     * @return : java.lang.Boolean
     * @author : cwl
     * @date : 2019/12/31 10:01
     */
    public static Boolean faceCheck(String image) {
        JSONObject res = client.detect(image, IMAGE_TYPE, options);
        if (res.has("error_code") && res.getInt("error_code") == 0) {
            JSONObject resultObject = res.getJSONObject("result");
            Integer faceNum = resultObject.getInt("face_num");
            return faceNum == 1?true:false;
        }else{
            return false;
        }
    }

    /**
     * 功能描述:
     * 〈人脸查找:查找人脸库中最相似的人脸并返回数据〉
     *  处理:用户的匹配得分(score)大于80分,即可认为是同一个用户
     *
     * @params : [image]
     * @return : java.lang.String
     * @author : cwl
     * @date : 2019/12/31 10:01
     */
    public static String faceSearch(String image) {
        JSONObject res = client.search(image, IMAGE_TYPE, GROUP_ID, options);
        if (res.has("error_code") && res.getInt("error_code") == 0) {
            JSONObject result = res.getJSONObject("result");
            JSONArray userList = result.getJSONArray("user_list");
            if (userList.length() > 0) {
                JSONObject user = userList.getJSONObject(0);
                double score = user.getDouble("score");
                if(score > 80) {
                    return user.getString("user_id");
                }
            }
        }
        return null;
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档