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

    首先引入jar:

      maven:

      <dependency>
            <groupId>com.baidu.aip</groupId>
            <artifactId>java-sdk</artifactId>
            <version>4.3.2</version>
        </dependency>

    import utils.Base64Util;
    import utils.FileUtil;
    import utils.GsonUtils;
    import utils.HttpUtil;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    /**
    * 人脸对比
    * @author zhengyanlei
    * @data 2018/12/29
    */
    public class FaceMatch {

    /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */
    public static String match() {
    // 请求url
    String url = "https://aip.baidubce.com/rest/2.0/face/v3/match";
    try {

    byte[] bytes1 = FileUtil.readFileByBytes("C:\Users\Administrator\Desktop\opencv\zyl.jpg");
    byte[] bytes2 = FileUtil.readFileByBytes("C:\Users\Administrator\Desktop\opencv\zyl1.jpg");
    String image1 = Base64Util.encode(bytes1);
    String image2 = Base64Util.encode(bytes2);

    List<Map<String, Object>> images = new ArrayList<Map<String, Object>>();

    Map<String, Object> map1 = new HashMap<String, Object>();
    map1.put("WEB-INF/statics/image", image1);
    map1.put("image_type", "BASE64");
    map1.put("face_type", "LIVE");
    map1.put("quality_control", "LOW");
    map1.put("liveness_control", "NORMAL");

    Map<String, Object> map2 = new HashMap<String, Object>();
    map2.put("WEB-INF/statics/image", image2);
    map2.put("image_type", "BASE64");
    map2.put("face_type", "LIVE");
    map2.put("quality_control", "LOW");
    map2.put("liveness_control", "NORMAL");


    images.add(map1);
    images.add(map2);

    String param = GsonUtils.toJson(images);

    // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
    String accessToken = "24.1973f8293b8a06c091a5ad7dd4fe21b5.2592000.1548212515.282335-15249134";

    String result = HttpUtil.post(url, accessToken, "application/json", param);
    System.out.println(result);
    return result;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }

    public static void main(String[] args) {
    FaceMatch.match();
    }
    }
  • 相关阅读:
    如何正确记忆单词
    转:超级通用型分页存储过程
    Delphi报表开发ReportMachine的小计和总计的计算
    DELPHI编程用SQLDMO呈现带进度条的SQL Server数据库Databnse备份!
    datasnap 2010 心跳包,连接断开处理
    合并BPL包图文教程
    Borland DataSnap(MIDAS)三层架构编程中,主细表的处理方式
    网上摘的 杀进程函数
    为RB定制支持参数的自定义函数
    获取一个数据库中的所有表的名称、一个表中所有字段的名称
  • 原文地址:https://www.cnblogs.com/zhengshao/p/10271871.html
Copyright © 2011-2022 走看看