1.访问集成文档 http://ai.baidu.com/docs#/FaceSDK-Collect-WithLiveness-Android/top 申请license,下载自动授权的sdk

2. 添加license

3.添加sdk文件

4.修改config文件

package com.baidu.aip.fl;

public class Config {

// 为了apiKey,secretKey为您调用百度人脸在线接口的,如注册,识别等。

// 为了的安全,建议放在您的服务端,端把人脸传给服务器,在服务端端进行人脸注册、识别放在示例里面是为了您快速看到效果

public static String apiKey = "WGV*************m5m";

public static String secretKey = "a4cK**********cs";

public static String licenseID = "bp-*********-android";

public static String licenseFileName = "idl********android";

/**

* groupId,标识一组用户(由数字、字母、下划线组成),长度限制128B,可以自行定义,只要注册和识别都是同一个组。

* 详情见 http://ai.baidu.com/docs#/Face-API/top

*

* 人脸识别 接口 https://aip.baidubce.com/rest/2.0/face/v2/identify

* 人脸注册 接口 https://aip.baidubce.com/rest/2.0/face/v2/faceset/user/add

*/

public static String groupID = "*******";

}

5.添加类和权限

6.在继承Application类里添加

FaceSDKManager.getInstance().initialize(this, Config.licenseID, Config.licenseFileName);

FaceConfig config = FaceSDKManager.getInstance().getFaceConfig();

// SDK初始化已经设置完默认参数(推荐参数),您也根据实际需求进行数值调整

// 设置活体动作,通过设置list LivenessTypeEnum.Eye,LivenessTypeEnum.Mouth,LivenessTypeEnum.HeadUp,

// LivenessTypeEnum.HeadDown,LivenessTypeEnum.HeadLeft, LivenessTypeEnum.HeadRight,

// LivenessTypeEnum.HeadLeftOrRight

ListlivenessList = new ArrayList<>();

livenessList.add(LivenessTypeEnum.Mouth);

livenessList.add(LivenessTypeEnum.Eye);

livenessList.add(LivenessTypeEnum.HeadUp);

livenessList.add(LivenessTypeEnum.HeadDown);

livenessList.add(LivenessTypeEnum.HeadLeft);

livenessList.add(LivenessTypeEnum.HeadRight);

config.setLivenessTypeList(livenessList);

// 设置 活体动作是否随机 boolean

config.setLivenessRandom(true);

config.setLivenessRandomCount(2);

// 模糊度范围 (0-1) 推荐小于0.7

config.setBlurnessValue(VALUE_BLURNESS);

// 光照范围 (0-1) 推荐大于40

config.setBrightnessValue(VALUE_BRIGHTNESS);

// 裁剪人脸大小

config.setCropFaceValue(VALUE_CROP_FACE_SIZE);

// 人脸yaw,pitch,row 角度,范围(-45,45),推荐-15-15

config.setHeadPitchValue(VALUE_HEAD_PITCH);

config.setHeadRollValue(VALUE_HEAD_ROLL);

config.setHeadYawValue(VALUE_HEAD_YAW);

// 最小检测人脸(在图片人脸能够被检测到最小值)80-200, 越小越耗性能,推荐120-200

config.setMinFaceSize(VALUE_MIN_FACE_SIZE);

// 人脸置信度(0-1)推荐大于0.6

config.setNotFaceValue(VALUE_NOT_FACE_THRESHOLD);

// 人脸遮挡范围 (0-1) 推荐小于0.5

config.setOcclusionValue(VALUE_OCCLUSION);

// 是否进行质量检测

// config.setCheckFaceQuality(true);

config.setCheckFaceQuality(false);

// 人脸检测使用线程数

config.setFaceDecodeNumberOfThreads(2);

// 是否开启提示音

config.setSound(true);

FaceSDKManager.getInstance().setFaceConfig(config);

APIService.getInstance().init(this);

APIService.getInstance().setGroupId(Config.groupID);

// 用ak,sk获取token, 调用在线api,如:注册、识别等。为了ak、sk安全,建议放您的服务器,

APIService.getInstance().initAccessTokenWithAkSk(new OnResultListener() {

@Override

public void onResult(AccessToken result) {

Log.i("wtf", "AccessToken->" + result.getAccessToken());

/* handler.post(new Runnable() {

@Override

public void run() {

Toast.makeText(Myapplicaition.this, "启动成功", Toast.LENGTH_LONG).show();

}

});*/

}

@Override

public void onError(FaceError error) {

Log.e("xx", "AccessTokenError:" + error);

error.printStackTrace();

}

}, this, Config.apiKey, Config.secretKey);

//sdk里人脸检测类

public class FaceDetectActivity extends Activity {

//识别出结果的方法

faceDetectManager.setOnFaceDetectListener(new FaceDetectManager.OnFaceDetectListener() {

@Override

public void onDetectFace(final int retCode, FaceInfo[] infos, ImageFrame frame) {

Log.d("retCoderetCode","retCode=="+retCode);

// Log.d("DetectLoginActivity", "retCode is:" + retCode);

String str = "";

if (retCode == 0) {

if (infos != null && infos[0] != null) {

FaceInfo info = infos[0];

boolean distance = false;

if (info != null && frame != null) {

if (info.mWidth >= (0.9 * frame.getWidth())) {

distance = false;

str = getResources().getString(R.string.detect_zoom_out);

} else if (info.mWidth <= 0.4 * frame.getWidth()) {

distance = false;

str = getResources().getString(R.string.detect_zoom_in);

} else {

distance = true;

}

}

boolean headUpDown;

if (info != null) {

if (info.headPose[0] >= ANGLE) {

headUpDown = false;

str = getResources().getString(R.string.detect_head_up);

} else if (info.headPose[0] <= -ANGLE) {

headUpDown = false;

str = getResources().getString(R.string.detect_head_down);

} else {

headUpDown = true;

}

boolean headLeftRight;

if (info.headPose[1] >= ANGLE) {

headLeftRight = false;

str = getResources().getString(R.string.detect_head_left);

} else if (info.headPose[1] <= -ANGLE) {

headLeftRight = false;

str = getResources().getString(R.string.detect_head_right);

} else {

headLeftRight = true;

}

if (distance && headUpDown && headLeftRight) {

mGoodDetect = true;

} else {

mGoodDetect = false;

}

}

}

}

//保存图片到本地

faceDetectManager.setOnTrackListener(new FaceFilter.OnTrackListener() {

@Override

public void onTrack(FaceFilter.TrackedModel trackedModel) {

if (trackedModel.meetCriteria() && mGoodDetect) {

// upload(trackedModel);

mGoodDetect = false;

saveFaceBmp(trackedModel);

}

}

});

android百度人脸采集免费,Android 调用百度人脸采集相关推荐

  1. android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)

    本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...

  2. 树莓派人脸识别python_树莓派调用百度人脸识别API实现人脸识别

    前言 树莓派配置OpenCV,配置起来有点繁琐且耗时,调用百度智能云的人脸识别API是一个很好的解决方案 接上摄像头的树莓派.png 一.申请AppID.API Key和Secret Key 1.1 ...

  3. php 人脸识别接口,php调用百度人脸识别接口查询数据库人脸信息实现验证登录功能...

    博主在进行鼎食城毕业设计时,需要实现一个人脸识别登录功能,想到可以利用百度的人脸识别接口来完成,于是便去下载了百度的识别SDK,我用的是PHP,需要的的可以去下载其他版本,以下是识别效果: 用户在开始 ...

  4. 百度高德位置定位服务器,调用百度、高德地图App,百度地图网页版,App定位

    1.首先判断是否安装了目标地图App //判断是否安装目标应用 public static boolean isInstallByread(String packageName) { return n ...

  5. 百度语音识别rest html,delphi调用百度语音识别REST API(示例代码)

    delphi调用百度语音识别REST API -20160616 -感谢 魔术猫 和 DelphiTeacher 兄的帮助解决了返回中文乱码的问题! -注:语音的录音格式目前只支持评测8k/16k采样 ...

  6. python 百度识图_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  7. 百度翻译api设置 java_Java调用百度API实现翻译

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  8. python调用百度地图实现导航_python调用百度地图WEB服务API获取地点对应坐标值

    本篇博客介绍如何使用Python调用百度地图WEB服务API获取地点对应坐标值,现有一系列结构化地址数据(如:北京市海淀区上地十街十号),目的是获取对应坐标值. 百度地图开发者平台路线规划使用说明网址 ...

  9. 百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址

    文章目录 一.百度地图AK密钥申请 二.调用百度地图API生成热力图 三.调用百度地图API自动获取经纬度和地址 一.百度地图AK密钥申请 点击百度地图API控制台,输入登录账户,即可进入,若账户未完 ...

最新文章

  1. MySQL输入密码后闪退的解决方法
  2. 洛谷P4199 万径人踪灭(manacher+FFT)
  3. 公网ip判断_银行客户生产网和办公网知识共享网络部署方案
  4. margin 和 padding 的使用区别
  5. 1-2-05:填空:类型转换2
  6. Mongodb带验证的主从复制架构
  7. scala:对象object
  8. caffe学习笔记教程
  9. python函数的四个特点_Python面向对象三大特征之封
  10. jquery中ajax加载js和json文件
  11. MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)
  12. yum 安装 tomcat
  13. C语言图形库——EasyX基本贴图
  14. 完整美团饿了么外卖红包源码
  15. Nordic nRF52840实战学习--ble_app_blinky例程
  16. 360周鸿祎:互联网好产品六字法则——刚需、痛点、高频
  17. 2020微信小程序学习报告.2.17-3.1.(一)
  18. 直播 | Apache Kylin × Apache Hudi Meetup
  19. android 圆形头像方案,android圆形头像实现
  20. 深度解析国内O2O模式

热门文章

  1. mysql查询从周一开始算本周第一天
  2. 物流是如何用计算机管理的,计算机信息管理在物流业的应用
  3. C# StatusBar
  4. vue的html自动刷新,vue项目刷新当前页面的方法
  5. word中插入页码方法
  6. 《Java Web程序设计基础教程》简介
  7. Cookie获取问题:ajax方法后端只获取到一个Cookie,Request无法获取到自定义的Cookie
  8. windows网站操作系统管理【1】
  9. Linux less命令和Linux head命令
  10. Java类的加载及父类子类加载顺序