package cn.xsshome.controller;
import java.util.HashMap;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baidu.aip.face.AipFace;
import cn.xsshome.common.FactoryUtil;
import cn.xsshome.vo.FacePageBean;
import cn.xsshome.vo.FacePageResponse;
import cn.xsshome.vo.response.FaceSerachResponse;
/**
* 人脸照片注册方法
* @author 小帅丶
*
*/
@Controller
@RequestMapping("/facemanager")
public class FaceManagerController {
//人脸模块对象
AipFace aipFace = FactoryUtil.getAipFace();
private static Logger log = LoggerFactory.getLogger(FaceManagerController.class);
/**
* 人脸注册
* @param facePageBean 请求的参数对象
* @param request
* @param response
* @return
*/
@PostMapping("/add")
@ResponseBody
public String addFace(FacePageBean facePageBean,HttpServletRequest request, HttpServletResponse response){
log.info("发送过来的参数{}",JSONObject.toJSONString(facePageBean));
FacePageResponse facePageResponse = new FacePageResponse();
if(facePageBean.getUser_info().equals("")||null==facePageBean.getUser_info()){
facePageResponse.setError_code("100");
facePageResponse.setError_msg("用户名称为空 请填写后重试");
return JSON.toJSONString(facePageResponse);
}else{
String groupId = "xsdemo";//用户组id(由数字、字母、下划线组成),长度限制128B
String userId = UUID.randomUUID().toString().replace("-", "").toUpperCase();//用户id(由数字、字母、下划线组成),长度限制128B
HashMap<String, String> options = new HashMap<String, String>();
options.put("user_info","小帅丶");
org.json.JSONObject resultObject = aipFace.addUser(facePageBean.getImgdata(), "BASE64", groupId, userId, options);
log.info("注册返回的数据{}",resultObject.toString(2));
return resultObject.toString();
}
}
/**
* 人脸搜索
* @param facePageBean 请求的参数对象
* @param request
* @param response
* @return
*/
@PostMapping("/search")
@ResponseBody
public FacePageResponse searchFace(FacePageBean facePageBean,HttpServletRequest request, HttpServletResponse response){
FacePageResponse facePageResponse = new FacePageResponse();
log.info("发送过来的参数{}",JSONObject.toJSONString(facePageBean));
String groupIdList = "xsdemo";//用户组id(由数字、字母、下划线组成),长度限制128B
org.json.JSONObject resultObject = aipFace.search(facePageBean.getImgdata(), "BASE64", groupIdList, null);
//使用fastjson处理返回的内容 直接用javabean接收 方便取值
FaceSerachResponse faceSerachResponse = JSON.parseObject(resultObject.toString(), FaceSerachResponse.class);
if("0".equals(faceSerachResponse.getError_code())&&"SUCCESS".equals(faceSerachResponse.getError_msg())){
if(faceSerachResponse.getResult().getUser_list().get(0).getScore()>80f){
facePageResponse.setError_code(faceSerachResponse.getError_code());
facePageResponse.setError_msg(faceSerachResponse.getError_msg());
facePageResponse.setUser_info(faceSerachResponse.getResult().getUser_list().get(0).getUser_info());
}else{
facePageResponse.setError_code("555");
facePageResponse.setError_msg("人脸搜索失败,请重试或请先注册");
}
}else{
facePageResponse.setError_code("500");
facePageResponse.setError_msg(faceSerachResponse.getError_msg());
}
log.info("搜索返回的数据{}",resultObject.toString(2));
return facePageResponse;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于百度AI使用H5实现调用摄像头进行人脸注册、人脸搜索功能(Java) 前端使用trackingjs
共37个文件
java:9个
js:8个
jpg:5个
需积分: 5 0 下载量 125 浏览量
2023-08-07
11:23:05
上传
评论
收藏 2.61MB ZIP 举报
温馨提示
基于百度AI使用H5实现调用摄像头进行人脸注册、人脸搜索功能(Java) 前端使用trackingjs
资源推荐
资源详情
资源评论
收起资源包目录
faceRecognition-master.zip (37个子文件)
faceRecognition-master
pom.xml 3KB
src
main
resources
templates
face.html 4KB
storage.html 4KB
static
js
face-min.js 178KB
tracking.js 100KB
stats.min.js 3KB
jquery-1.9.1.js 264KB
layer.js 22KB
dat.gui.min.js 49KB
tracking-min.js 27KB
theme
default
loading-2.gif 2KB
loading-1.gif 701B
loading-0.gif 6KB
icon-ext.png 6KB
layer.css 14KB
icon.png 11KB
jquery.js 622B
img
1337cb41381be8bd3424f0be7bb0dec51.jpg 459KB
01a3f4589ea315a801219c77c63f72.jpg 216KB
1337cb41381be8bd3424f0be7bb0dec5.jpg 1.07MB
AI3.jpg 169KB
01a3f4589ea315a801219c77c63f722.jpg 501KB
css
demo.css 1KB
storage.css 1KB
layer.css 14KB
application.yml 63B
java
cn
xsshome
controller
FaceController.java 565B
FaceManagerController.java 4KB
common
FactoryUtil.java 471B
AIConstant.java 279B
vo
FacePageBean.java 589B
response
FaceSerachResponse.java 2KB
FaceResponseBean.java 2KB
FacePageResponse.java 710B
FaceRecognitionApplication.java 392B
webapp
WEB-INF
web.xml 215B
LICENSE 9KB
共 37 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6650
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功