java实现人脸识别登录教程【含效果图】——前台+后台整合

这个做的是基于百度调的人脸接口。

百度提供有一个开发文档:http://ai.baidu.com/docs#/Face-Detect/top,

文档有java实例代码,返回参数等. 可以直接到:http://ai.baidu.com/

百度人脸识别进入官网查看文档 

(最下面有整套demo下载地址)

      接口功能:

  • 两张人脸图片相似度对比:比对两张图片中人脸的相似度,并返回相似度分值;
  • 多种图片类型:支持生活照证件照身份证芯片照带网纹照四种类型的人脸对比;
  • 活体检测:基于图片中的破绽分析,判断其中的人脸是否为二次翻拍(举例:如用户A用手机拍摄了一张包含人脸的图片一,用户B翻拍了图片一得到了图片二,并用图片二伪造成用户A去进行识别操作,这种情况普遍发生在金融开户、实名认证等环节。);
  • 质量检测:返回模糊、光照等质量检测信息,用于辅助判断图片是否符合识别要求;



代码讲解:

基于ssm框架搭建的,前端通过获取video标签​调用本地的摄像头(获取用户媒体对象,流媒体数据base64),将流媒体数据画到convas画布上去​,后台调用百度API人脸识别接口,进入百度大脑搜索人脸识别即可获取官网的Secret Key,将前端获取的人脸信息的base64信息和你本地数据库里的人脸信息传到百度人脸识别的接口进行人脸比对,返回一个json数据,result参数 带别人脸相似度, result可自己定义,从而实现人脸识别登录

效果图: 

                        java实现人脸识别登录教程【含效果图】——前台+后台整合_第1张图片

//识别成功状态

java实现人脸识别登录教程【含效果图】——前台+后台整合_第2张图片




前台JSP代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>






管理员登录




















	

         后台测试类代码

public static String getToken() {
		BufferedReader br = null;
		StringBuffer sb = new StringBuffer();

		String authHost = "https://aip.baidubce.com/oauth/2.0/token?";

		String clientId = "";
		String clientSecret = "";
		String getAccessTokenUrl = 
				+ "grant_type=client_credentials"
				+ "&client_id=" + clientId
				+ "&client_secret=" + clientSecret;
		try {
			URL url = new URL(getAccessTokenUrl);
			HttpURLConnection connection = (HttpURLConnection) url
					.openConnection();
			connection.setRequestMethod("POST");
			connection.connect();
			br = new BufferedReader(new InputStreamReader(
					connection.getInputStream()));
			String line = "";
			while ((line = br.readLine()) != null) {
				sb.append(line);
			}
			br.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		JSONObject jsonObject = JSONObject.fromObject(sb.toString());
		String token = jsonObject.getString("access_token");
		return token;
	}

	public static void main(String[] args) {
		String tonken = getToken();
		System.out.println(tonken);
	}

整套demo下载:https://download.csdn.net/download/qq_41186788/10363968

你可能感兴趣的:(技术分享)