文章目录

  • 前言
  • 人脸识别流程图
  • 一、注册账号
  • 二、创建应用
  • 三、下载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-20160810.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开放平台的人脸识别的讲解与代码实现,希望能帮助大家更好的了解人脸识别功能的实际操作。感谢大家的观看,如果想要源码点个关注私聊我哦,我随时都在。

基于百度AI开放平台的人脸识别相关推荐

  1. java 百度账号注册界面_基于百度AI开放平台的人脸识别的注册登录(1)

    百度ai开放平台首页 2.选择产品服务,人脸与人体识别,人脸识别选项.打开后如图所示 人脸识别 3.点击立即使用 3.jpg 4.点击创捷应用 创建应用 这一页大家按自己需求填写即可 5.创建完成后点 ...

  2. 基于百度AI开放平台的人脸识别及语音合成

    基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...

  3. 百度AI开放平台集成人脸识别,离线采集有动作活体版本sdk

    前言 Android项目Android studio环境: 1.工程build.gradle版本号:3.2.1 2.app目录下的build.gradle配置:compileSdkVersion 28 ...

  4. 基于百度AI开发平台实现人脸识别登陆-Springboot

    一.效果图 后台获取的数据: 我们去百度智能云人脸库查看,正是这个用户 项目源码已经上传到github,整个项目是springboot项目,下载下来就可以体验了.本工程对百度人脸识别接口进行了封装,理 ...

  5. 将文字变成语音的GUI程序(基于百度AI开放平台)【面向过程的写法】

    尝试了用Python中tkinter写了第一个GUI程序后,便想着把原来只在控制台上玩过语音合成的程序变成可以有窗口交互的GUI程序.因为有过用VB写应用系统的经验,对窗体还是有一定的认识,所以用着老 ...

  6. 微信小程序 |基于百度AI从零实现人脸识别小程序

    写在前面 针对互联网上已有的人脸识别小程序项目,很多只是基于手动拍照,然后上传到SDK进行识别.这一过程完全脱离实际场景!无法直接使用! 本文项目是基于微信摄像头中的实时视频帧数据,通过实时动态识别小 ...

  7. 基于百度AI+jquery-webcam+servlet实现人脸识别登录,兼容各主流浏览器

    1.注册百度AI账号,获取到AI开发资格 详情参见个人博客:你的第一个人脸识别demo(http://www.cnblogs.com/guo-eric/p/8109411.html) 2.环境准备 首 ...

  8. AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】

  9. 【百度AI开放平台】植物识别

    官网链接 植物识别:https://ai.baidu.com/tech/imagerecognition/plant 测试样例 使用方法 1.首先得将照片裁剪一下(因为图中有大面积的建筑物),不然会被 ...

最新文章

  1. 六、CPU优化(4)NUMA架构
  2. JDBC基础知识复习
  3. oracle sql语句大全
  4. 目标检测——模型加速的学习笔记
  5. 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set(utf-8)两种方法)
  6. 电子书下载:C# 语言规范 3.0 , 4.0 中文版
  7. 群晖-VideoStation-(TMDB刮削器)api申请
  8. 蓝牙耳机买哪种?不错的蓝牙耳机推荐
  9. 华为荣耀7i刷linux,华为荣耀7i(ATH-AL00 全网通)ROOT教程,简单几步完成ROOT
  10. smb协议讲解_SMB协议详解 - 人之为学,如饮河海,大饮则大盈,小饮则小盈 - OSCHINA - 中文开源技术交流社区...
  11. 网站怎么移动适配?这些小技巧你必须要会
  12. 每日一题(44)—— 请列举一个软件中时间换空间或者空间换时间的例子
  13. word删除页眉线,添加第几页共几页
  14. Win11调整分区大小的方法有哪些?
  15. 前置++与后置++、前置--与后置--
  16. pytest执行用例报“Skipped: no variables file“跳过执行case问题解决
  17. 夏季晚睡早起符合养生原则
  18. 系统认证风险预测方案总结
  19. 吴思里:阿里淘系前端面试经历
  20. 华为ensp配置pap认证

热门文章

  1. Android 获取网络连接方式、判断手机卡所属运营商
  2. 【微信小程序】原生Java开发的路该怎么走?成功拿下大厂offer
  3. 冒烟测试 与 BVT
  4. 关于Keil5编译器报错:ARMLMD_LICENSE_FILE: unset - 解决
  5. vue cli4 使用360兼容模式和IE11页面空白报 SCRIPT1002:语法错误
  6. web前端开发中的各种居中
  7. 华为智能安防余虎:安防进入了新时代
  8. 操作系统实验2---进程管理(更完..)
  9. linux addr2line,定位so文件崩溃代码行数
  10. ZigBee转包、Ubiqua抓包工具的安装教程附带ZigBee抓包使用和入网流程解析