@Rookie
2019-04-23T10:05:39.000000Z
字数 2363
阅读 1035
panda
PandaFaceSDK离线SDK, 包含人脸检测,人脸特征数据上传, 初次使用是需要互联网激活SDK.
Android armeabi-v7a
支持Android 5.0 (API Level 21)及以上系统。
@requires_authorization
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
NV21, BGR24
1.将PandaFaceSDK.aar放入libs文件夹,并注入SDK相关依赖
implementation(name: 'PandaFaceSDK', ext: 'aar')
implementation 'com.squareup.okhttp3:okhttp:3.8.0'
implementation 'com.squareup.okio:okio:1.13.0'
2.创建项目的Application(如果已经创建不需要再创建),并且在Application初始化人脸识别SDK
public class PandaFaceApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
PandaFaceSdk.init(this);
Constants.setFaceSdkUrl("http://192.168.1.233:9909");
PandaFaceSdk.setDebug(true);
}
}
PandaFaceSdk.setDebug(true);
设置为true时,打开人脸识别SDK的log。
默认的情况下log为打开状态,log过滤:PandaFaceSdk
3.激活人脸识别SDK,再获取到动态权限之后需要对人脸引擎激活。
PandaFaceEngine.getInstance().faceEngineInit();
注:可以在使用人脸SDK界面的onCreate方法里调用
1.PandaFaceSDK 进行人脸检测
/**
* @bitmap:需要检测的人脸图片
*/
PandaFaceEngine.getInstance().monitorIsFaceWithImage(bitmap,
new PandaFaceCallBack() {
@Override
public void onFaceCallBack(byte[] bytes, String result, int errorCode, boolean success) {
/**
* @bytes:人脸检测数据
* @result,@errorCode:人脸检测的错误信息和错误码
* @success:人脸检测是否成功
*/
}
});
2.PandaFaceSDK 上传人脸数据
/**
* @faceData:人脸检测数据
* @image:头像缩略图url(小于100k)
* @userId:用户id
*/
PandaFaceEngine.getInstance().uploadPandaFaceData(faceData, image, userId,
new PandaFaceUpCallBack() {
@Override
public void onFaceUpCallBack(String result, int errorCode) {
/**
* @result,@errorCode:人脸检测的错误信息和错误码
*/
}
});
3.PandaFaceSDK 检查人脸审核状态(返回状态说明: status : 0 未开通 1审核中 2 审核通过 3 审核拒绝)
/**
* @userId:用户id
*/
PandaFaceEngine.getInstance()
.checkUploadPandaFaceDataStatus("1", new PandaFaceRideCallBack() {
@Override
public void onFaceRideCallBack(String result, int errorCode) {
/**
* @result,@errorCode:人脸检测的错误信息和错误码
*/
}
});
错误提示 | 错误码 | 说明 |
---|---|---|
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 | 服务器地址不能为空! |