Java调用百度人脸识别Api实现人脸登录注册【后端】

Java调用百度人脸识别Api实现人脸登录注册【后端】,第1张

Java实现人脸注册及登录
    • 前言
    • 开发前准备
      • 🥂start
      • 🤩end
    • 后端开发
      • 使用springboot
    • 👓难度分析
    • 本文仅记录个人研究百度api文档的 *** 作步骤及代码编写

前言
  1. 在csdn上看见了博主 :派 大 星 的 Java实现人脸登录、注册等功能【完整版】将其源码pull下来,发现其中使用的工具类,介于个人学艺不精🥀,未能充分理解工具类的使用
  2. 所以在对技术的好奇下,选择自己研究官方api文档来实现功能😊
开发前准备 🥂start
  1. 注册百度智能云账号
  2. 进入管理控制台
  3. 输入人脸识别 并搜索
  4. ✨立即使用
  5. 🥂实名认证
  6. 创建应用
  7. 填写应用信息
  8. 查看应用详情
  9. 记下来这三个值✨(Java代码中会使用到)
  10. 将上述三个值复制下来之后进入人脸识别-应用列表
  11. 查看人脸库
  12. 按 *** 作进行并记下来组id与第九步中三个值一起使用
  13. 打开 在线调用api
  14. 打开 api文档
🤩end
后端开发 使用springboot
  1. 创建springboot项目
  2. 选择这三个依赖
  3. 打开pom文件只需要手动的导入这一个依赖
  4. 在src/resource/application.properties中写相关信息
  5. 这里的appid apikey secretKey groupId为上文中已保存的值 🏃‍♂️—> 开发前准备的第十条6. 创建自己的BaiDuUtil工具类请求换取access_token如图所示
  6. 从官方文档中可以获取如下信息,有了请求路径和参数,我们就可以开始Java代码的编写了
@RequestMapping("/api/v1/private")
@Controller
@Slf4j
public class UserController {
	
	 /**
	  *  自定义百度工具类
	  *  主要作用是获取access_token和配置信息
	  */
    @Autowired
    private BaiDuUtil baiDuUtil;

    @PostMapping("/face/register")
    public void faceRegister(){
        // 这里使用的静态文件,我是将文件上传到了七牛云上,只要图片能通过url的方式打开就可以
        String image = "http://xxx.clouddn.com/xxx.jpg";
        String accessToken = baiDuUtil.getAccessToken();
        String url = "https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token="+accessToken;
        // 通过hutool创建post请求
        HttpRequest post = HttpUtil.createPost(url);
        JSONObject jsonObject = new JSONObject();
        // 添加请求体中携带的参数
        HashMap<String, Object> map = new HashMap<>();
        map.put("image",image);
        // 图片类型有三种
        map.put("image_type",baiDuUtil.getIMAGE_TYPE());
        map.put("group_id",baiDuUtil.getGroupId());
        // 用户id 一个id对应着一个用户上传的人脸文件夹
        map.put("user_id","zwq");
        jsonObject.putAll(map);
        post.contentType("application/json");
        post.body(jsonObject.toString());
        HttpResponse execute = post.execute();
        System.out.println(execute);
        // 获取返回的error_code
        String body = execute.body();
        JSONObject jsonObject1 = new JSONObject(body);
        System.out.println(body);
        Integer error_code = (Integer) jsonObject1.get("error_code");
        System.out.println(error_code);
    }
}
  1. 人脸比对和人脸注册方式很像(获得score之后进行逻辑判断即可)
👓难度分析

个人感觉难度主要在于官方文档的寻找,编码并没有难度,最费时间的是寻找官方文档和错误码信息

  • 官方文档及错误码

  • 推荐看这个 官网api在线调用文档


本文仅记录个人研究百度api文档的 *** 作步骤及代码编写

更多详情请移步:博主 派 大 星 的 Java实现人脸登录、注册等功能【完整版】

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

原文地址: https://outofmemory.cn/langs/942065.html

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

发表评论

登录后才能评论

评论列表(0条)

保存