300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 基于百度AI开放平台的人脸识别

基于百度AI开放平台的人脸识别

时间:2019-11-07 14:58:57

相关推荐

基于百度AI开放平台的人脸识别

文章目录

前言人脸识别流程图一、注册账号二、创建应用三、下载SDK文件四、创建工具类五、创建用于人脸识别的网页1.引入css文件2.创建注册按钮3.创建模态框,用于捕捉人脸4.引入相关js文件 六、创建设置字符编码的过滤器七、创建注册用的Servlet八、在index.jsp页面加入登录按钮代码九、创建一个登录的Servlet总结

前言

基于百度AI开放平台的人脸识别功能的实现与应用,人脸识别网址:人脸识别

使用工具:Eclipse,Tomcat,JDK

人脸识别流程图

一、注册账号

去百度AI开放平台注册账号:百度AI开放平台

二、创建应用

左上角菜单-人脸识别-公有云-应用列表-创建应用-随便填(可能需要实名认证)-立即创建

帮助文档地址:帮助文档

三、下载SDK文件

下载sdk文件,得到【aip-java-sdk-4.16.13.jar】【json-0810.jar】【log4j-1.2.17.jar】放到web项目的lib目录下

四、创建工具类

创建链接开放平台的工具类【AipFaceHelper】

package util;import com.baidu.aip.face.AipFace;public class AipFaceHelper {// 设置APPID/AK/SKprivate static final String APP_ID = "29253192";private static final String API_KEY = "2dMMFM6rGgazYKxselR93LGy";private static final String SECRET_KEY = "KUdIhAZttiwcrFpy9H8wqaMHLffW6lq2";private static AipFace client = null;private AipFaceHelper() {}public static AipFace getInstance() {if (client == null) {client = new AipFace(APP_ID, API_KEY, SECRET_KEY);client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);}return client;}}

五、创建用于人脸识别的网页

创建用于人脸识别的网页【index.jsp】实现注册功能

1.引入css文件

<link href="css/bootstrap.css" rel="stylesheet"><link href="css/bface.css" rel="stylesheet">

2.创建注册按钮

<button class="btn btn-success" data-toggle="modal" data-target="#myModal" onclick="showReg()">注册</button>

3.创建模态框,用于捕捉人脸

<!--人脸识别模态框--><div class="modal fade" id="myModal" aria-hidden="true"data-backdrop="static" tabindex="-1" role="dialog"aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h4 class="modal-title" id="myModalLabel"style="display: inline-block">BFace ▪ 人脸识别</h4><button type="button" class="close" data-dismiss="modal"aria-label="Close"><span aria-hidden="true">&times;</span></button></div><div class="modal-body"><div class="modal-body-title"><!--头部提示文字--><p>请将头部放在视频区域内,匹配成功将会自动登入系统</p><p>如果视频内未出现识别框或长时间未响应 <a style="cursor: pointer">请单击此处</a></p></div><!--人脸框--><div class="modal-body-viode"><canvas id="canvas" width="420" height="340"></canvas><video id="video" width="420" height="340" preload autoplay loopmuted></video></div></div></div></div></div>

4.引入相关js文件

<!--JS导入--><script type="text/javascript" src="js/tracking-min.js"></script><script type="text/javascript" src="js/face-min.js"></script><script type="text/javascript" src="js/jquery-3.2.1.min.js"></script><script type="text/javascript" src="js/bootstrap.min.js"></script><script type="text/javascript" src="js/bface.js"></script><script type="text/javascript">function showLogin() {//调用人脸识别方法login("http://localhost:8080/faceDiscern/LoginServlet");}function showReg() {//调用人脸识别方法reg("http://localhost:8080/faceDiscern/RegServlet");}</script>

六、创建设置字符编码的过滤器

创建设置字符编码的过滤器【EncodingFilter】

package filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.annotation.WebFilter;@WebFilter("/*")public class EncodingFilter implements Filter {public EncodingFilter() {// TODO Auto-generated constructor stub}public void destroy() {// TODO Auto-generated method stub}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("UTF-8"); // 设置防止提交的中文数据乱码response.setContentType("text/html;charset=UTF-8"); // 设置响应的信息不乱码chain.doFilter(request, response);}public void init(FilterConfig fConfig) throws ServletException {// TODO Auto-generated method stub}}

七、创建注册用的Servlet

创建注册用的Servlet【RegServlet】在doget中加入如下代码

HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");// 图片质量控制options.put("liveness_control", "LOW");// 活体检测控制String base64=request.getParameter("base");base64=base64.substring(22);//去掉字符串说明信息(data:image/jpeg,base64)String imageType = "BASE64";String groupId = "student";//可以根据需要随意修改String userId = "9879";//可以根据需要随意修改JSONObject res = AipFaceHelper.getInstance().addUser(base64, imageType, groupId, userId, options);System.out.println(res.toString(2));response.getWriter().print(res.toString(2));

八、在index.jsp页面加入登录按钮代码

在index.jsp页面加入登录按钮代码

<button class="btn btn-success" data-toggle="modal"data-target="#myModal" onclick="showLogin()">登陆</button>

九、创建一个登录的Servlet

创建一个登录的Servlet【LoginServlet】在doget中加入如下代码

HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");// 图片质量控制options.put("liveness_control", "LOW");// 活体检测控制options.put("max_user_num", "1"); // 查找后返回的用户数量。返回相似度最高的几个用户String base64=request.getParameter("base");base64=base64.substring(22);//去掉字符串说明信息(data:image/jpeg,base64)String imageType = "BASE64";String groupId = "student";JSONObject res = AipFaceHelper.getInstance().search(base64, imageType, groupId, options);System.out.println(res.toString(2));response.getWriter().print(res.toString(2));

总结

以上便是基于百度AI开放平台的人脸识别的讲解与代码实现,希望能帮助大家更好的了解人脸识别功能的实际操作。感谢大家的观看,如果想要源码点个关注私聊我哦,我随时都在。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。