基于JAVA平台使用百度API管理人脸库

一、申请百度API人脸识别的使用权利

      http://ai.baidu.com/tech/face(点击进入官方网站,然后找到产品服务-人脸识别)

二、注册百度账号,并且申请人脸识别的使用权(一般几分钟就可以了,不会太久),获取以下参数,为调用API做准备

AppID
API Key
Secret Key


三、编写代码,调用获取token,详细操作可以查阅(https://ai.baidu.com/docs#/Face-Set/top

package com;

import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;

import java.net.URLEncoder;

/**
* 人脸更新
*/
public class FaceUpdate {

    /**
    * 重要提示代码中所需工具类
    * 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 update() {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/face/v2/faceset/user/update";
        try {
            // 本地文件路径
            String filePath = "[本地文件路径]";
            byte[] imgData = FileUtil.readFileByBytes(filePath);
            String imgStr = Base64Util.encode(imgData);
            String imgParam = URLEncoder.encode(imgStr, "UTF-8");

            String filePath2 = "[本地文件路径]";
            byte[] imgData2 = FileUtil.readFileByBytes(filePath2);
            String imgStr2 = Base64Util.encode(imgData2);
            String imgParam2 = URLEncoder.encode(imgStr2, "UTF-8");

            String param = "uid=" + "test_user_5" + "&images=" + imgParam + "," + imgParam2;

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "[调用鉴权接口获取的token]";

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

    public static void main(String[] args) {
        FaceUpdate.update();
    }
}

四、获取token,在人脸库中对人脸进行注册,详细操作可以查阅(https://ai.baidu.com/docs#/Face-Set/top

package com;

import java.net.URLEncoder;

public class FaceAdd {
      
	public static String add(String img1 , String img2) {
		String url = "https://aip.baidubce.com/rest/2.0/face/v2/faceset/user/add";
		try {
			String filePath = img1;  //第一个图片文件的位置
			byte[] imgData = FileUtil.readFileByBytes(filePath);
			String imgStr = Base64Util.encode(imgData);
			String imgParam = URLEncoder.encode(imgStr , "UTF-8");
			
			String filePath2 = img2;  //第二个图片文件的位置(此处可有可无,至少要上传一张,以此类推)
			byte[] imgData2 = FileUtil.readFileByBytes(filePath2);
			String imgStr2 = Base64Util.encode(imgData2);
			String imgParam2 = URLEncoder.encode(imgStr2 , "UTF-8");
			
			String param = "uid=" + "test_user_5" + "&user_info=" + "userInfo5" + "&group_id=" + "test_group_2" + "&images=" + imgParam + "," + imgParam2;		
			// 注意Param格式的编写,此处是最核心的内容,注意uid、user_info、group_id以及images的含义,详细信息看下图参数表,这里添加的图片数量可以自己权衡
		    String accessToken = Get_Access_Token.getAuth();
		    String result = HttpUtil.post(url , accessToken , param);
		    System.out.println(result);
		    return result;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public static void main(String[] args) {
		FaceAdd.add("F:/img/1.jpg" , "F:/img/2.jpg");//人脸图片的存储地址
	}
}
五、除了人脸注册之外,百度API还提供了人脸更新、人脸删除等操作,具体使用方式与人脸注册基本一直,具体的JAVA代码可以查阅( https://ai.baidu.com/docs#/Face-Set/top),所有的代码可以直接从技术文档中复制粘贴到自己的编译器中,我们所需要做的很多时候只是修改其中个别的参数,如文件的实际存储路径等,或者增添一些其余操作的代码即可。
基于Spring Boot的校园快递管理平台的设计与实现是一个方便学生和快递员之间交互的系统。该平台包括学生下单、快递员接单、快递员派送以及学生收取快递等功能。 首先,我们需要设计一个数据模型来存储学生和快递员的基本信息以及快递的状态。数据中应该有学生表、快递员表以及快递表。学生表中包含学生的姓名、学号和联系方式;快递员表中包含快递员的姓名、工号和联系方式;快递表中包含快递的收件人、寄件人、状态等信息。 在系统的实现过程中,我们使用Spring Boot作为开发框架,并结合Spring MVC和MyBatis来实现业务逻辑和数据操作。通过Spring MVC,我们可以实现学生下单以及接收快递的功能。当学生下单时,系统将学生的信息以及快递的相关信息保存到数据中。当快递员接单时,系统会将快递员信息和快递的状态更新到数据中。通过MyBatis,我们可以将数据表映射为Java对象,并进行数据的增删改查操作。 另外,为了方便快递员派送快递,我们可以在系统中加入地图导航功能,根据快递的收件地址和派送地址自动规划最优路径。这可以通过集成第三方地图服务实现,如高德地图API百度地图API等。 此外,为了增加系统的安全性,可以引入身份验证和授权机制,确保只有具有权限的学生和快递员可以访问相应的功能模块。 总的来说,基于Spring Boot的校园快递管理平台的设计与实现涉及到数据设计、业务逻辑实现、地图导航功能集成以及安全性的考虑。通过合理的设计和实现,这个平台可以方便学生下单、快递员接单和派送,并提高快递管理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值