进入百度智能云:https://console.bce.baidu.com/
首先我先说明一下,我之前遇到一个面试官,他问我对百度人脸识别的了解:有那些产品。如果使用线上的人脸库,不安全。那我们就需要使用离线的SDK服务了。不会依赖与百度的人脸库存储形式。所以我们要对百度智能云的产品有一定的了解,更多内容 还是去人家官网看吧!
人脸对比API:
人脸离线识别SDK:
私有化部署:
正文
自己去申请 应用账号、密钥,然后创建人脸库、库中组、组中用户、上传自己的照片
创建好了 ,开始去尝试吧。
去看下人家的技术文档:https://cloud.baidu.com/doc/FACE/index.html
这里 我们看 人脸对比 。对比成功 我们就可以判定是本人了。
错误代码 查看:
http://baidu.netnic.com.cn/doc/face/face-java-sdk/24.5c.e9.94.99.e8.af.af.e4.bf.a1.e6.81.af.html
行了 废话不多说了,直接上代码吧!
Maven 这里 我也忘记需要那些了,最后 我会奉上 我测试代码。
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.15.3</version>
</dependency>
<dependency>
<groupId>org.openclover</groupId>
<artifactId>clover</artifactId>
<version>4.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
<scope>test</scope>
</dependency>
添加配置类
import com.baidu.aip.face.AipFace;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author : zanglikun
* @date : 2021/2/5 9:22
* @Version: 1.0
* @Desc : 费劲,没啥好说的
*/
@Configuration
public class AipFaceConfig {
// 这里说一个事情 打死你都获取不了,static是干嘛的?此关键字修饰的内容优先加载,final是干嘛的?自己去了解,都会导致你无法获取值,切记,切记 不能加static 也不能加final 更不能同时加
@Value("${face.appid}")
private String appId = "";
@Value("${face.apikey}")
private String apiKey = "";
@Value("${face.secretkey}")
private String secretKey = "";
@Bean
public AipFace AipFace() {
AipFace aipFace = new AipFace(appId, apiKey, secretKey);
return aipFace;
}
}
我把实际请求的API交由Spring管理了,以后要调用,直接@Autowired
@Autowired
public AipFace aipFace; // 交由SpringBoot管理
创建用户组
/**
* 创建人脸组
*/
@ResponseBody
@RequestMapping("/createGroup")
public String createGroup(){
HashMap<String,String> options = new HashMap<>();
String groupname = "TesrGorupname"; // 仅支持 数字、字母、下划线组成,长度限制128kb
String s = aipFace.groupAdd(groupname, options).toString();
Map jsonmap = (Map) JSON.parse(s);
// 错误码为0 就是成功 其他就是失败
String error_code = jsonmap.get("error_code").toString();
// 错误信息 如果 error_code 不是 0 才会有这个返回的参数 成功会是 SUCCESS 失败是:group already exist
String error_msg = jsonmap.get("error_msg").toString();
// 请求识别码,随机数字,唯一 好像没啥大用
String log_id = jsonmap.get("log_id").toString();
return error_msg;
}
返回内容是SUCCESS
再次执行就会看到:group already exist
删除用户组
/**
* 删除人脸组
*/
@ResponseBody
@RequestMapping("/deleteGroup")
public String deleteGroup(){
HashMap<String,String> options = new HashMap<>();
String groupname = "TesrGorupname"; // 仅支持 数字、字母、下划线组成,长度限制128kb
String s = aipFace.groupDelete(groupname, options).toString();
Map jsonmap = (Map) JSON.parse(s);
// 错误码为0 就是成功 其他就是失败
String error_code = jsonmap.get("error_code").toString();
// 错误信息 如果 error_code 不是 0 才会有这个返回的参数 成功会是 SUCCESS 失败是:group already exist
String error_msg = jsonmap.get("error_msg").toString();
// 请求识别码,随机数字,唯一 好像没啥大用
String log_id = jsonmap.get("log_id").toString();
return error_msg;
}
返回内容是SUCCESS
再次执行就会看到:group not exist
源代码
项目启动后,请访问:http://127.0.0.1:8086/
随便输入 一个 用户名
人脸识别成功 会有下图提示
没有 检测到人脸 会有下图提示
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
评论(0)