[关闭]
@Rookie 2019-04-23T10:05:39.000000Z 字数 2363 阅读 1035

PandaFaceSDK Android 接入指南

panda

1.简介

1.1 产品概述

PandaFaceSDK离线SDK, 包含人脸检测,人脸特征数据上传, 初次使用是需要互联网激活SDK.

1.2 环境要求

1.2.1 运行环境

Android armeabi-v7a

1.2.2 系统要求

支持Android 5.0 (API Level 21)及以上系统。

1.2.3 权限申明

  1. @requires_authorization
  2. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  3. <uses-permission android:name="android.permission.INTERNET" />
  4. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  5. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  6. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

1.2.4 支持的颜色空间格式

NV21, BGR24

3. 接入指南

3.1 接入人脸识别SDK

1.将PandaFaceSDK.aar放入libs文件夹,并注入SDK相关依赖

  1. implementation(name: 'PandaFaceSDK', ext: 'aar')
  2. implementation 'com.squareup.okhttp3:okhttp:3.8.0'
  3. implementation 'com.squareup.okio:okio:1.13.0'

2.创建项目的Application(如果已经创建不需要再创建),并且在Application初始化人脸识别SDK

  1. public class PandaFaceApplication extends Application {
  2. @Override
  3. public void onCreate() {
  4. super.onCreate();
  5. PandaFaceSdk.init(this);
  6. Constants.setFaceSdkUrl("http://192.168.1.233:9909");
  7. PandaFaceSdk.setDebug(true);
  8. }
  9. }

PandaFaceSdk.setDebug(true);
设置为true时,打开人脸识别SDK的log。
默认的情况下log为打开状态,log过滤:PandaFaceSdk

3.激活人脸识别SDK,再获取到动态权限之后需要对人脸引擎激活。

  1. PandaFaceEngine.getInstance().faceEngineInit();

注:可以在使用人脸SDK界面的onCreate方法里调用

4. 人脸识别SDK使用

1.PandaFaceSDK 进行人脸检测

  1. /**
  2. * @bitmap:需要检测的人脸图片
  3. */
  4. PandaFaceEngine.getInstance().monitorIsFaceWithImage(bitmap,
  5. new PandaFaceCallBack() {
  6. @Override
  7. public void onFaceCallBack(byte[] bytes, String result, int errorCode, boolean success) {
  8. /**
  9. * @bytes:人脸检测数据
  10. * @result,@errorCode:人脸检测的错误信息和错误码
  11. * @success:人脸检测是否成功
  12. */
  13. }
  14. });

2.PandaFaceSDK 上传人脸数据

  1. /**
  2. * @faceData:人脸检测数据
  3. * @image:头像缩略图url(小于100k)
  4. * @userId:用户id
  5. */
  6. PandaFaceEngine.getInstance().uploadPandaFaceData(faceData, image, userId,
  7. new PandaFaceUpCallBack() {
  8. @Override
  9. public void onFaceUpCallBack(String result, int errorCode) {
  10. /**
  11. * @result,@errorCode:人脸检测的错误信息和错误码
  12. */
  13. }
  14. });

3.PandaFaceSDK 检查人脸审核状态(返回状态说明: status : 0 未开通 1审核中 2 审核通过 3 审核拒绝)

  1. /**
  2. * @userId:用户id
  3. */
  4. PandaFaceEngine.getInstance()
  5. .checkUploadPandaFaceDataStatus("1", new PandaFaceRideCallBack() {
  6. @Override
  7. public void onFaceRideCallBack(String result, int errorCode) {
  8. /**
  9. * @result,@errorCode:人脸检测的错误信息和错误码
  10. */
  11. }
  12. });

5. SDK错误码说明

错误提示 错误码 说明
ERROE_PANDAFACE_REGISTE 5000 SDK激活失败!
ERROE_RESOURCES_EMPTY 5001 图片不能为空!
ERROE_FACE_EMPTY 5002 未检测到人脸!
ERROE_FACE_EXTRACT 5003 人脸特征提取失败!
FACE_SUCESS 4000 人脸识别成功!
ERROE_UPLOAD_EMPTY 5005 上传数据缺失!
ERROE_UPLOAD_COMPLETION 5006 上传缩略图过大!
ERROE_SERVERADDRESS_EMPTY 5007 服务器地址不能为空!

6. 注意

6.1 APP版本号一定要为三位 例如X.X.X格式

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注