public class FaceEngine
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
ASF_AGE
初始化和调用引擎的属性,年龄检测
|
static long |
ASF_DETECT_MODE_IMAGE
图像检测模式
|
static long |
ASF_DETECT_MODE_VIDEO
视频流检测模式
|
static int |
ASF_FACE_DETECT
初始化和调用引擎的属性,人脸检测
|
static int |
ASF_FACE_RECOGNITION
初始化和调用引擎的属性,人脸识别
|
static int |
ASF_FACE3DANGLE
初始化和调用引擎的属性,人脸三维角度检测
|
static int |
ASF_GENDER
初始化和调用引擎的属性,性别检测
|
static int |
ASF_LIVENESS
初始化和调用引擎的属性,活体检测
|
static int |
ASF_NONE
初始化和调用引擎的属性,不初始化或调用任何引擎
|
static int |
ASF_OC_0
检测结果中的人脸角度,逆时针0度
|
static int |
ASF_OC_120
检测结果中的人脸角度,逆时针120度
|
static int |
ASF_OC_150
检测结果中的人脸角度,逆时针150度
|
static int |
ASF_OC_180
检测结果中的人脸角度,逆时针180度
|
static int |
ASF_OC_210
检测结果中的人脸角度,逆时针210度
|
static int |
ASF_OC_240
检测结果中的人脸角度,逆时针240度
|
static int |
ASF_OC_270
检测结果中的人脸角度,逆时针270度
|
static int |
ASF_OC_30
检测结果中的人脸角度,逆时针30度
|
static int |
ASF_OC_300
检测结果中的人脸角度,逆时针300度
|
static int |
ASF_OC_330
检测结果中的人脸角度,逆时针330度
|
static int |
ASF_OC_60
检测结果中的人脸角度,逆时针60度
|
static int |
ASF_OC_90
检测结果中的人脸角度,逆时针90度
|
static int |
ASF_OP_0_HIGHER_EXT
人脸检测角度,各个方向尝试检测
|
static int |
ASF_OP_0_ONLY
人脸检测角度,仅逆时针0度
|
static int |
ASF_OP_180_ONLY
人脸检测角度,仅逆时针180度
|
static int |
ASF_OP_270_ONLY
人脸检测角度,仅逆时针270度
|
static int |
ASF_OP_90_ONLY
人脸检测角度,仅逆时针90度
|
static int |
CP_PAF_BGR24
图像格式,BGR格式,RGB 分量交织,按 B,G,R 字节序排布,且宽度必须为 4 的倍数
|
static int |
CP_PAF_NV21
图像格式,NV21格式,8-bit Y 通道,8-bit 2x2 采样,V 与 U 分量交织通道,且宽度必须为 4 的倍数,高度必须为 2 的倍数
|
| 构造器和说明 |
|---|
FaceEngine() |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
active(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
激活SDK
|
int |
compareFaceFeature(FaceFeature feature1,
FaceFeature feature2,
FaceSimilar faceSimilar)
比对人脸特征数据获取相似度
|
int |
detectFaces(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList)
人脸检测
|
int |
extractFaceFeature(byte[] data,
int width,
int height,
int format,
FaceInfo faceInfo,
FaceFeature feature)
提取人脸特征数据
|
int |
getAge(java.util.List<AgeInfo> ageInfoList)
获取年龄信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getFace3DAngle(java.util.List<Face3DAngle> face3DAngleList)
获取人脸三维角度信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getGender(java.util.List<GenderInfo> genderInfoList)
获取性别信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getLiveness(java.util.List<LivenessInfo> livenessInfoList)
获取活体检测信息,需要在调用
process(byte[], int, int, int, List, int)后调用 |
int |
getVersion(VersionInfo versionInfo)
获取版本信息
|
int |
init(android.content.Context context,
long detectMode,
int detectFaceOrientPriority,
int detectFaceScaleVal,
int detectFaceMaxNum,
int combinedMask)
初始化人脸引擎
|
int |
process(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
活体、年龄、性别、三维角度检测,在调用该函数后,可以调用
getLiveness(List) ,getAge(List),getGender(List),getFace3DAngle(List)分别获取活体、年龄、性别、三维角度的检测结果
活体最多支持 1 个人脸信息的检测,超过部分返回未知
年龄、性别、三维角度在视频模式(ASF_DETECT_MODE_VIDEO)下在最多支持4个人脸信息的检测,超过部分返回未知 |
int |
unInit()
销毁引擎
|
public static final int ASF_NONE
public static final int ASF_FACE_DETECT
public static final int ASF_FACE_RECOGNITION
public static final int ASF_AGE
public static final int ASF_GENDER
public static final int ASF_FACE3DANGLE
public static final int ASF_LIVENESS
public static final long ASF_DETECT_MODE_VIDEO
public static final long ASF_DETECT_MODE_IMAGE
public static final int CP_PAF_NV21
public static final int CP_PAF_BGR24
public static final int ASF_OP_0_ONLY
public static final int ASF_OP_90_ONLY
public static final int ASF_OP_270_ONLY
public static final int ASF_OP_180_ONLY
public static final int ASF_OP_0_HIGHER_EXT
public static final int ASF_OC_0
public static final int ASF_OC_90
public static final int ASF_OC_270
public static final int ASF_OC_180
public static final int ASF_OC_30
public static final int ASF_OC_60
public static final int ASF_OC_120
public static final int ASF_OC_150
public static final int ASF_OC_210
public static final int ASF_OC_240
public static final int ASF_OC_300
public static final int ASF_OC_330
public int active(android.content.Context context,
java.lang.String appId,
java.lang.String sdkKey)
context - 上下文对象appId - 官网申请的APP_IDsdkKey - 官网申请的SDK_KEYErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int init(android.content.Context context,
long detectMode,
int detectFaceOrientPriority,
int detectFaceScaleVal,
int detectFaceMaxNum,
int combinedMask)
context - 上下文对象detectMode - 检测模式,支持视频模式(ASF_DETECT_MODE_VIDEO)和图像模式(ASF_DETECT_MODE_IMAGE)detectFaceOrientPriority - 人脸检测方向的优先级,支持仅0度(ASF_OP_0_ONLY),仅90度(ASF_OP_90_ONLY),仅180度(ASF_OP_180_ONLY),仅270度(ASF_OP_270_ONLY),多方向检测(ASF_OP_0_HIGHER_EXT),建议使用单一指定方向检测,性能比多方向检测更佳detectFaceScaleVal - 人脸相对于所在图片的长边的占比,在视频模式(ASF_DETECT_MODE_VIDEO)下有效值范围[2,16],在图像模式(ASF_DETECT_MODE_IMAGE)下有效值范围[2,32]detectFaceMaxNum - 引擎最多能检测出的人脸数,有效值范围[1,50]combinedMask - 初始化引擎功能组合,可以是ASF_NONE、ASF_FACE_DETECT、ASF_FACE_RECOGNITION、ASF_AGE、ASF_GENDER、ASF_FACE3DANGLE、ASF_LIVENESS中的单个或者多个,用 | 运算符拼接ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int unInit()
ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int detectFaces(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList)
data - 输入的图像数据width - 图像的宽度height - 图像的高度format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)faceInfoList - 人脸列表,传入后赋值ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int process(byte[] data,
int width,
int height,
int format,
java.util.List<FaceInfo> faceInfoList,
int combineMask)
getLiveness(List) ,getAge(List),getGender(List),getFace3DAngle(List)分别获取活体、年龄、性别、三维角度的检测结果
活体最多支持 1 个人脸信息的检测,超过部分返回未知
年龄、性别、三维角度在视频模式(ASF_DETECT_MODE_VIDEO)下在最多支持4个人脸信息的检测,超过部分返回未知data - 图像数据width - 图像的宽度height - 图像的高度format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)faceInfoList - 人脸列表combineMask - 处理的组合,可以是ASF_AGE、ASF_GENDER、ASF_FACE3DANGLE、ASF_LIVENESS中的单个或者多个,用 | 运算符拼接ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int extractFaceFeature(byte[] data,
int width,
int height,
int format,
FaceInfo faceInfo,
FaceFeature feature)
data - 图像数据width - 图像的宽度height - 图像的高度format - 图像的颜色空间格式,支持NV21(CP_PAF_NV21)、BGR24(CP_PAF_BGR24)faceInfo - 人脸信息feature - 人脸特征对象,用于输出人脸特征数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int compareFaceFeature(FaceFeature feature1, FaceFeature feature2, FaceSimilar faceSimilar)
feature1 - 人脸特征对象feature2 - 人脸特征对象faceSimilar - 相似度信息,用于输出相似度数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getAge(java.util.List<AgeInfo> ageInfoList)
process(byte[], int, int, int, List, int)后调用ageInfoList - 年龄信息列表,用于输出年龄信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getGender(java.util.List<GenderInfo> genderInfoList)
process(byte[], int, int, int, List, int)后调用genderInfoList - 性别信息列表,用于输出性别信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getFace3DAngle(java.util.List<Face3DAngle> face3DAngleList)
process(byte[], int, int, int, List, int)后调用face3DAngleList - 人脸三维角度信息列表,用于输出人脸三维角度信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getLiveness(java.util.List<LivenessInfo> livenessInfoList)
process(byte[], int, int, int, List, int)后调用livenessInfoList - 活体检测信息列表,用于输出活体检测信息结果数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义public int getVersion(VersionInfo versionInfo)
versionInfo - 版本信息对象,用于输出版本信息数据ErrorInfo.MOK为成功,其他情况详见ErrorInfo中的定义