DFLivenessSDK类介绍
DFLivenessSDK(Context context)
DFLivenessSDK的构造函数
| 参数 | 说明 |
|---|---|
| Context | None |
| 返回值 | 说明 |
| None | None |
boolean createHandle()
若要确定handle是否已成功创建,则在成功时返回true,在失败时返回false。
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| true | 创建成功 |
| false | 创建失败 |
boolean createHandle(String licenseName)
传入license名称,确定是否成功创建了handle,成功时返回true,失败时返回false。
| 参数 | 说明 |
|---|---|
| licenseName | license name |
| 返回值 | 说明 |
| true | 创建成功 |
| false | 创建失败 |
void setThreshold(DFLivenessKey key, float value)
传入活体检测的阈值
| 参数 | 说明 |
|---|---|
| key | 输入的阈值类型参考DFLivenessKey |
| value | 输入的阈值 |
| 返回值 | 说明 |
| None | None |
void start(int config, DFLivenessMotion[] motions)
开始活体检测
| 参数 | 说明 |
|---|---|
| config | 输出类型和复杂度的默认格式 输出格式参考:DFLivenessSDK.DFLivenessOutputType |
| motions | 动作序列,第一帧动作必须是HOLD_STILL,后续动作不能再有HOLD_STILL, 参考 DFLivenessMotion |
| 返回值 | 说明 |
| None | None |
static String getSDKVersion()
返回SDk版本信息
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| SDK version code | None |
DFLivenessSDK.DFStatus detect(byte[] image, int width, int height, int rotateAngle, DFLivenessSDK.DFLivenessMotion motion, boolean isHoldStill)
返回活体检测的状态
| 参数 | 说明 |
|---|---|
| image | 输入图片数据 |
| width | 图片的宽 |
| height | 图片的高 |
| rotateAngle | 图片的方向 |
| motion | 当前检测的动作,请参考DFLivenessMotion |
| isHoldStill | 是否是静默动作 |
| 返回值 | 说明 |
| DFStatus structure | 请参考DFStatus |
DFLivenessSDK.DFRect getFaceRect() throws Exception
获取脸部的位置,当错误调用的时候回抛出一个异常
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| DFLivenessSDK.DFRect structure | top,bottom,left,right 分别是脸部的上,下,左,右的坐标 |
void end()
结束检测
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| None | None |
byte[] getLivenessResult() throws Exception
获取检测结果,当错误调用的时候回抛出一个异常
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| byte[] | 获取加密的活体检测结果,你需要吧byte数据写入一个文件中 |
DFLivenessSDK.DFLivenessImageResult[] getImageResult() throws Exception
获取活体检测的关键帧信息,当错误调用的时候回抛出一个异常
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| DFLivenessSDK.DFLivenessImageResult[] Structure array | 返回结果包含对应的活体动作的图像数据 |
byte[] getVideoResult() throws Exception
获取活体检测的视频结果,当错误调用的时候回抛出一个异常
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| byte[] | 仅当输出类型设置为video的时候,获取活体检测的视频结果 |
void destroy()
销毁handle,释放内存
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| None | None |
内部类介绍
DFLivenessOutputType: 输出类型
| 类型 | 说明 |
|---|---|
| WRAPPER_OUTPUT_TYPE_SINGLE_IMAGE | 单图模式,暂不支持 |
| WRAPPER_OUTPUT_TYPE_MULTI_IMAGE | 多图模式 |
| WRAPPER_OUTPUT_TYPE_LOW_QUALITY_VIDEO | 视频模式,暂不支持 |
DFLivenessMotion: 活体检测动作
| 类型 | 说明 |
|---|---|
| BLINK | 眨眼 |
| MOUTH | 张嘴 |
| YAW | 摇头 |
| NOD | 点头 |
| HOLD_STILL | 保持静止 |
DFDetectStatus: 活体检测状态
| 类型 | 说明 |
|---|---|
| PASSED | 通过检测 |
| DETECTING | 检测中 |
| INTERNAL_ERROR | 检测错误 |
| TRACKING_MISSED | 人脸丢失 |
DFStatus:检测结果
int getDetectStatus()
获取检测结果的状态
| parameter | description |
|---|---|
| None | None |
| return | description |
| int | 检测结果有四种状态,参考DFDetectStatus |
boolean isPassed()
检测结果是否通过
| parameter | description |
|---|---|
| None | None |
| return | description |
| boolean | true: 检测结果通过, false: 检测结果未通过 |
boolean isHasFace()
屏幕中是否有人脸
| 参数 | 说明 |
|---|---|
| None | None |
| 返回值 | 说明 |
| boolean | true:有人脸,false:无人脸 |
boolean isFaceValid()
人脸是否有效
| parameter | description |
|---|---|
| None | None |
| return | description |
| boolean | true: 人脸有效, false: 人脸无效 |
DFLivenessKey 阈值类型
| 类型 | 说明 |
|---|---|
| KEY_BLINK_KEY | 眨眼阈值类型 |
| KEY_MOUTH_KEY | 张嘴阈值类型 |
| KEY_YAW_KEY | 摇头阈值类型 |
| KEY_PITCH_KEY | 点头阈值类型 |
| KEY_HOLD_STILL | 静止阈值类型 |