前言
http://ai.baidu.com/tech/face/collect AI开发平台
需要注册用户,用户分为个人或企业
在License管理中新增授权。
(1)授权标识:最好是取你应用的英文名称。
(2)应用类型:选择一个跟你应用一样的类型即可。
(3)应用信息:如果是先弄Android的话把iOS的勾去掉,反正后续iOS也可以补充信息的。
(4)安卓包名:app目录下的build.gradle中的applicationId 或者 manifest.xml中的package。
(5)安卓签名MD5:你应用所创建的key.jks,且key.jks存放的目录放置和app同等级。具体如何取出key.jks的md5值请看Android studio 上获取应用签名文件(keystore文件)的MD5值。
注意:由于Android Studio不断的更新版本,获取项目MD5值有所变动,我教大家一个快捷的方式,如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200419165510149.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5neHV5dWFuMjI=,size_16,color_FFFFFF,t_70
每个依赖包需要相互引用,方便协调不同模块的代码
在项目的app主模板中新建一个类:
public class FaceSDKManagerUtils {
private static class FaceSDKManagerHolder {
private static final FaceSDKManagerUtils INSTANCE = new FaceSDKManagerUtils();
}
public static FaceSDKManagerUtils getInstance() {
return FaceSDKManagerHolder.INSTANCE;
}
public void FaceSDKInit(Activity context) {
FaceSDKManager.getInstance().initialize(context, Config.licenseID, Config.licenseFileName);
}
public void FaceSDKForClockConfig() {
FaceConfig config = FaceSDKManager.getInstance().getFaceConfig();
List<LivenessTypeEnum> livenessList = new ArrayList<LivenessTypeEnum>();
livenessList.clear();
livenessList.add(LivenessTypeEnum.Eye);
//SDK初始化已经设置完默认参数(推荐参数),您也根据实际需求进行数值调整
config.setLivenessTypeList(livenessList);
config.setLivenessRandom(false);
config.setBlurnessValue(FaceEnvironment.VALUE_BLURNESS);
config.setBrightnessValue(FaceEnvironment.VALUE_BRIGHTNESS);
config.setCropFaceValue(FaceEnvironment.VALUE_CROP_FACE_SIZE);
config.setHeadPitchValue(FaceEnvironment.VALUE_HEAD_PITCH);
config.setHeadRollValue(FaceEnvironment.VALUE_HEAD_ROLL);
config.setHeadYawValue(FaceEnvironment.VALUE_HEAD_YAW);
config.setMinFaceSize(FaceEnvironment.VALUE_MIN_FACE_SIZE);
config.setNotFaceValue(FaceEnvironment.VALUE_NOT_FACE_THRESHOLD);
config.setOcclusionValue(FaceEnvironment.VALUE_OCCLUSION);
config.setCheckFaceQuality(true);
config.setFaceDecodeNumberOfThreads(2);
FaceSDKManager.getInstance().setFaceConfig(config);
}
public void FaceSDKForCollectConfig() {
FaceConfig config = FaceSDKManager.getInstance().getFaceConfig();
config.setSound(false);
List<LivenessTypeEnum> livenessList = new ArrayList<LivenessTypeEnum>();
livenessList.clear();
livenessList.add(LivenessTypeEnum.Eye);
livenessList.add(LivenessTypeEnum.HeadLeft);
livenessList.add(LivenessTypeEnum.HeadRight);
config.setLivenessTypeList(livenessList);
config.setLivenessRandom(false);
config.setBlurnessValue(FaceEnvironment.VALUE_BLURNESS);
config.setBrightnessValue(FaceEnvironment.VALUE_BRIGHTNESS);
config.setCropFaceValue(FaceEnvironment.VALUE_CROP_FACE_SIZE);
config.setHeadPitchValue(FaceEnvironment.VALUE_HEAD_PITCH);
config.setHeadRollValue(FaceEnvironment.VALUE_HEAD_ROLL);
config.setHeadYawValue(FaceEnvironment.VALUE_HEAD_YAW);
config.setMinFaceSize(FaceEnvironment.VALUE_MIN_FACE_SIZE);
config.setNotFaceValue(FaceEnvironment.VALUE_NOT_FACE_THRESHOLD);
config.setOcclusionValue(FaceEnvironment.VALUE_OCCLUSION);
config.setCheckFaceQuality(true);
config.setFaceDecodeNumberOfThreads(2);
FaceSDKManager.getInstance().setFaceConfig(config);
}
}
还需要一个配置文件类
licenseFileName:表示在官网上申请的文件名
licenseID:你申请证书的ID
需要在进入AI的上一个类中调用此工具类
ok,以上就是AI的SDK离线使用