zyBaiduFace

1.1.0及以上版本使用api


1.0.9及以前版本可使用api

论坛示例

为帮助用户更好更快的使用插件,论坛维护了一个示例,示例中包含示例代码供您参考。

开始使用

使用插件之前必须先在代码中申请必要权限。

api.requestPermission({
    list:['camera','storage']
}, function(ret, err){
});

概述

简介

zyBaiduFace封装了百度人脸识别离线采集SDK。

1.1.0版本及之后 IOS SDK版本为v4.0,应用打包最低版本为9.0,Android SDK版本为v4.0,应用打包最低版本为4.0.3。 1.0.9版本及之前 IOS SDK版本为v3.3.0,应用打包最低版本为9.0,Android SDK版本为v3.3.0,应用打包最低版本为4.0.3。

使用之前须从百度开放平台申请开发者账号并完成企业认证,获取 LicenseID和 LicenseFileName。

百度开发平台控制台

必须!!!!

制作所需自定义插件文档

插件接口

init

初始化插件,使用插件前必须调用

init({params}, callback(ret, err))

params

licenseID:

  • 类型:字符串
  • 描述:(必项)百度离线采集sdk中申请到的授权信息 License ID

licenseFileName:

  • 类型:字符串
  • 描述:(选项)百度离线采集sdk中申请到的授权信息 license FileName
  • 默认值: 安卓idl-license.face-android 苹果idl-license.face-ios

groupID://1.0.9及以下版本需要 groupID apiKey secretKey参数

  • 类型:字符串
  • 描述:(必项)人脸库组名

apiKey:

  • 类型:字符串
  • 描述:(选项)百度人脸识别应用apiKey 在config中填写之后此处可不填

secretKey:

  • 类型:字符串
  • 描述:(选项)百度人脸识别应用secretKey 在config中填写之后此处可不填

1.1.0及以上版本 更多初始化参数 (可选)

VALUE_MIN_FACE_SIZE // 设置可检测的最小人脸阈值 默认200
VALUE_NOT_FACE_THRESHOLD // 设置可检测到人脸的阈值 默认0.6
VALUE_BLURNESS // 设置模糊度阈值 默认0.3
VALUE_BRIGHTNESS // 设置光照阈值(范围0-255) 默认82
VALUE_OCCLUSION // 设置遮挡阈值 默认0.5
VALUE_HEAD_PITCH // 设置人脸姿态角阈值 默认8
VALUE_HEAD_YAW // 默认8
VALUE_HEAD_ROLL // 默认8
VALUE_CLOSE_EYES // 设置闭眼阈值 默认0.7
VALUE_CACHE_IMAGE_NUM // 设置图片缓存数量 默认3
VALUE_OPEN_MASK // 设置开启口罩检测,非动作活体检测可以采集戴口罩图片 默认true
VALUE_MASK_THRESHOLD // 设置口罩阈值 默认0.7
VALUE_SCALE // 原图缩放系数 默认1
VALUE_CROP_HEIGHT // 抠图高的设定,为了保证好的抠图效果,我们要求高宽比是4:3,所以会在内部进行计算,只需要传入高即可 默认640
VALUE_CROP_ENLARGERATIO // 抠图人脸框与背景比例 默认1.5
VALUE_CONDITION_TIMEOUT // 设置检测超时时间 默认15秒
VALUE_TIME_TIPS_REPEAT //语音播报间隔时间 默认5秒 ios请谨慎修改 时间小了会出现不能识别的问题

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//object 成功返回 AccessToken 1.0.9版本及之前有返回
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
  "licenseID":api.systemType=="ios"?'xx-face-ios':'xx-face-android',
  //"licenseFileName":api.systemType=="ios"?'idl-license.face-ios':'idl-license.face-android',
  //"groupID":"moduleTest",
  //"apiKey":"x",
  //"secretKey":"x",
};
zyBaiduFace.init(param, function(ret, err){
 api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

open

打开人脸识别 1.0.9及之前版本有效

open({params}, callback(ret, err))

params

group_id_list:

  • 类型:字符串
  • 描述:(选项)(选填)从指定的group中进行查找 用逗号分隔,上限10个 不传时是init中的groupid

quality_control:

  • 类型:字符串
  • 描述:(选填)图片质量控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

liveness_control:

  • 类型:字符串
  • 描述:(选填)活体检测控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

user_id:

  • 类型:字符串
  • 描述:(选填)当需要对特定用户进行比对时,指定user_id进行比对。即人脸认证功能。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//object 成功返回 用户信息
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
zyBaiduFace.open({}, function(ret, err){
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0到1.0.9版本

getPic

识别得到一张图片 地址 1.0.9及之前版本有效

getPic({params},callback(ret))

params

filePath:

  • 类型:字符型
  • 描述:(选填)传入自定义路径 将保存到 你的路径 支持fs 不支持widget 不传保存到默认路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//字符串 成功返回图片地址
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
 filePath:"fs://1.jpg",
};
zyBaiduFace.getPic(param, function(ret, err){
 api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0到1.0.9版本

pictureToBase64

将地址图片转换成base64

pictureToBase64({params},callback(ret))

params

filePath:

  • 类型:字符型
  • 描述:(必填)图片路径 支持fs widget 等本地路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//字符串 成功返回图片base64
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
 filePath:"fs://1.jpg",
};
zyBaiduFace.pictureToBase64(param, function(ret, err){
 console.log(JSON.stringify(ret));
 alert(ret.status);
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

base64ToPicture

将base64转换成地址图片 可自定义路径

base64ToPicture({params},callback(ret))

params

base64:

  • 类型:字符型
  • 描述:(必填)base64地址 注意 不要写前面的 data:image/png;base64,

filePath:

  • 类型:字符型
  • 描述:(选填)自定义 图片路径 fs本地路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//字符串 成功返回图片路径
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
 base64:"/9ab...",
};
zyBaiduFace.base64ToPicture(param, function(ret, err){
 api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.1.0及更高版本

register

注册到人脸库 1.0.9及之前版本有效

register({params},callback(ret))

params

user_id:

  • 类型:字符型
  • 描述:(必填)用户id(由数字、字母、下划线组成),长度限制128B

name:

  • 类型:字符型
  • 描述:(必填)用户名,长度限制256B

filePath:

  • 类型:字符型
  • 描述:(必填)从获取图片取到的 或者自已其它地方的图片路径 支持fs widget 等本地路径

group_id:

  • 类型:字符型
  • 描述:(选填)用户组id,标识一组用户(由数字、字母、下划线组成 不传时是init中的groupid

quality_control:

  • 类型:字符型
  • 描述:(选填)图片质量控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

liveness_control:

  • 类型:字符型
  • 描述:(选填)活体检测控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

action_type:

  • 类型:字符型
  • 描述:(选填) 操作方式 APPEND 新注册的图片默认会追加到该user_id下 REPLACE 当对此user_id重复注册时,则会用新图替换库中该user_id下所有图片

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":"",	//object 成功返回 用户信息
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
 "user_id":userid,
 "name":name,
 "filePath":filePath
 //"group_id":"",
"quality_control":"NORMAL",
 "liveness_control":"NORMAL",
 "action_type":"REPLACE"
};
zyBaiduFace.register(param, function(ret, err){
 api.alert({msg: JSON.stringify(ret)});
});    	

可用性

iOS系统,Android系统

可提供的1.0.0到1.0.9版本

faceLive

动作检测采集图像

faceLive({params},callback(ret))

params

isLivenessRandom:

  • 类型:布尔型
  • 描述:(选填)是否随机 检测动作 默认false

7个动作 请最少选择一种 不然就是7种按顺序执行

eye:

  • 类型:布尔型
  • 描述:(选填)动作 眨眨眼

mouth:

  • 类型:布尔型
  • 描述:(选填)动作 张张嘴

head_up:

  • 类型:布尔型
  • 描述:(选填)动作 缓慢抬头

head_down:

  • 类型:布尔型
  • 描述:(选填)动作 缓慢低头

head_left:

  • 类型:布尔型
  • 描述:(选填)动作 向左缓慢转头

head_right:

  • 类型:布尔型
  • 描述:(选填)向右缓慢转头

left_right:

  • 类型:布尔型
  • 描述:(选填)摇摇头

isSound:

  • 类型:布尔型
  • 描述:(选填)默认是否开启提示音 默认true

filePath:

  • 类型:字符串
  • 描述:(选填)传入自定义路径 将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径 请不要填文件名 这是里文件夹路径

base64:

  • 类型:布尔型
  • 描述:(选填)是否返回base64 传true就返回base64 不传或者false 就是文件路径

DesignationCamera:

  • 类型:字符串
  • 描述:(选填)默认摄像头方向 1前置 0后置 默认前置

degree:

  • 类型:数字串
  • 描述:(选填)角度

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  result:{}	//object 成功返回各种类型图片
            //bestimage0: 无动作图片(默认有) 
            //headup  缓慢抬头
            //headleftorright  摇摇头
            //headright 向右缓慢转头
            //mouth 张张嘴
            //headdown 缓慢低头
            //headleft 向左缓慢转头
            //eye 眨眨眼
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
    "isLivenessRandom":true,//是否随机 检测动作  默认false
    "eye":true,//动作 眨眨眼    7个动作 请最少选择一种 不然就是7种按顺序执行
    "mouth":true,//动作 张张嘴
    "head_up":false,//动作 缓慢抬头
    "head_down":false,//动作 缓慢低头
    "head_left":false,//动作 向左缓慢转头
    "head_right":false,//动作 向右缓慢转头
    "left_right":false,//动作 摇摇头
    "isSound":true,//默认是否有提示音 默认true
    "filePath":"",//(选填)传入自定义路径  将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径 请不要填文件名 这是里文件夹路径
    "base64":false//是否返回base64 传true就返回base64  不传或者false 就是文件路径
};
zyBaiduFace.faceLive(param,function(ret, err){// ret.result.  bestimage0原始图片可存下来  headup  headleftorright headright mouth headdown headleft eye
    api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

faceDetect

静态检测采集图像(带提示音)

faceDetect({params},callback(ret))

params

isSound:

  • 类型:布尔型
  • 描述:(选填)默认是否开启提示音 默认true

filePath:

  • 类型:字符串
  • 描述:(选填)传入自定义路径 将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径

base64:

  • 类型:布尔型
  • 描述:(选填)是否返回base64 传true就返回base64 不传或者false 就是文件路径

DesignationCamera:

  • 类型:字符串
  • 描述:(选填)默认摄像头方向 1前置 0后置 默认前置

degree:

  • 类型:数字串
  • 描述:(选填)安卓使用 后置摄像头时需设置成 270

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  result:""	//字符串 正确返回图片地址 或base64
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
    //filePath:"fs://1.jpg",//(选填)传入自定义路径  将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径
    "isSound":true,//默认是否有提示音 默认true
    "base64":false//是否返回base64 传true就返回base64  不传或者false 就是文件路径  base64显示在界面上就是   img.src = 'data:image/png;base64,'+ ret.result;
};
zyBaiduFace.faceDetect(param,function(ret, err){
    api.alert({msg: JSON.stringify(ret)});
    if(ret.status){
        //filePath = "data:image/png;base64,"+ret.result;
        filePath = ret.result;
    }
});

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

login

手动检测识别 1.0.9及之前版本有效

login({params},callback(ret))

params

filePath:

  • 类型:字符串
  • 描述:(必填)(必填)从(getPic、faceLive、faceDetect 获取的图片路径 不能base64)或者自已其它地方的图片路径 支持fs widget 等本地路径

group_id_list:

  • 类型:字符串
  • 描述:(选项)(选填)从指定的group中进行查找 用逗号分隔,上限10个 不传时是init中的groupid

quality_control:

  • 类型:字符串
  • 描述:(选填)图片质量控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

liveness_control:

  • 类型:字符串
  • 描述:(选填)活体检测控制 NONE: 不进行控制、LOW:较低的质量要求、NORMAL: 一般的质量要求、HIGH: 较高的质量要求,默认 NORMAL,若图片质量不满足要求,则返回结果中会提示质量检测失败

user_id:

  • 类型:字符串
  • 描述:(选填)当需要对特定用户进行比对时,指定user_id进行比对。即人脸认证功能。

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 返回true false
  "result":{},	//object 成功返回 用户信息
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
    "filePath":filePath,
//	"group_id":"moduleTest",
    "quality_control":"NORMAL",
    "liveness_control":"NORMAL",
};
zyBaiduFace.login(param, function(ret, err){
    api.alert({msg: JSON.stringify(ret)});
});	

可用性

iOS系统,Android系统

可提供的1.0.1到1.0.9版本

openRectface

打开悬浮在frame之上的摄像头区域,可自定义界面

openRectface({params},callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)插件的位置及尺寸
  • 内部字段:
{
    x: 0,   //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    y: 0,   //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    w: api.frameWidth - 100, //(可选项)数字类型;插件的宽度;默认:所属的 Window 或 Frame 的宽度
    h: api.frameWidth - 100   //(可选项)数字类型;插件的高度;默认:所属的 Window 或 Frame 的宽度
}

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)插件视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认值:插件依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)插件是否不随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

type:

  • 类型:字符串
  • 描述:(可选项)打开静态识别还是动态识别 faceDetect 静态 faceLive 动态
  • 默认值:faceDetect

//动态时传入以下动作参数

isLivenessRandom:

  • 类型:布尔型
  • 描述:(选填)是否随机 检测动作 默认false

7个动作 请最少选择一种 不然就是7种按顺序执行

eye:

  • 类型:布尔型
  • 描述:(选填)动作 眨眨眼

mouth:

  • 类型:布尔型
  • 描述:(选填)动作 张张嘴

head_up:

  • 类型:布尔型
  • 描述:(选填)动作 缓慢抬头

head_down:

  • 类型:布尔型
  • 描述:(选填)动作 缓慢低头

head_left:

  • 类型:布尔型
  • 描述:(选填)动作 向左缓慢转头

head_right:

  • 类型:布尔型
  • 描述:(选填)向右缓慢转头

left_right:

  • 类型:布尔型
  • 描述:(选填)摇摇头

isSound:

  • 类型:布尔型
  • 描述:(选填)默认是否开启提示音 默认true

filePath:

  • 类型:字符串
  • 描述:(选填)【静态时为图片地址 动态时为文件夹路径】 传入自定义路径 将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径

base64:

  • 类型:布尔型
  • 描述:(选填)是否返回base64 传true就返回base64 不传或者false 就是文件路径

DesignationCamera:

  • 类型:字符串
  • 描述:(选填)默认摄像头方向 1前置 0后置 默认前置

degree:

  • 类型:数字串
  • 描述:(选填)真实识别角度 0手机向左横屏 90手机正竖屏【默认】 180手机向右竖屏 270倒竖屏 = 安卓后置摄像头需反过来 反正自己试就行了

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:true,	//布尔型 识别中返回false  最后识别完成 返回true
  "result":{},	//object 返回识别中的信息及识别结果 具体查看日志
}

示例代码

var zyBaiduFace = api.require('zyBaiduFace');
var param = {
    rect:{
        x:50,
        y:150,
        w:api.winWidth-100,
        h:api.winWidth-100
    },
    fixedOn:api.frameName,
    fixed:true,

    type:"faceDetect",//类型  faceDetect 静态、默认    faceLive 动态

     //动态时传入以下参数
    "isLivenessRandom":true,//是否随机 检测动作  默认false
    "eye":true,//动作 眨眨眼    7个动作 请最少选择一种 不然就是7种按顺序执行
    "mouth":true,//动作 张张嘴
    "head_up":false,//动作 缓慢抬头
    "head_down":false,//动作 缓慢低头
    "head_left":false,//动作 向左缓慢转头
    "head_right":false,//动作 向右缓慢转头
    "left_right":false,//动作 摇摇头


    "isSound":true,//默认是否有提示音 默认true
    "filePath":"fs://face.jpg",//  静态时为图片地址  动态时为文件夹路径  (选填)传入自定义路径  将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径 请不要填文件名 这是里文件夹路径
    "base64":false,//是否返回base64 传true就返回base64  不传或者false 就是文件路径
    DesignationCamera:"1",// 0后置    1前置【默认】
    degree:90,// 真实识别角度 0手机向左横屏   90手机正竖屏【默认】   180手机向右竖屏  270倒竖屏 =  后置摄像头需反过来   反正自己试就行了

};
zyBaiduFace.openRectface(param,function(ret){
    console.log("zyBaiduFace:"+JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.7及更高版本

close

关闭自定义界面 *注意关闭识别时请务必调用此api 而且必须使用openRectface的那个对象 可以发送监听去调用 close()

示例代码

 zyBaiduFace.close();

可用性

Android系统,ios系统

可提供的1.0.7及更高版本

pause

监听APP退到后台 具体使用查看demo

pause()

示例代码

api.addEventListener({
    name:'pause'
}, function(ret, err){
    zyBaiduFace.pause();
});

可用性

Android系统

可提供的1.0.7及更高版本

resume

监听APP回到前台 具体使用查看demo

resume()

示例代码

api.addEventListener({
    name:'resume'
}, function(ret, err){
    zyBaiduFace.resume();
});

可用性

Android系统

可提供的1.0.7及更高版本

setSound

设置是否开启提示音

setSound({params})

params

isSound:

类型:布尔 描述:(可选项)设置是否开启提示音 默认值:false

示例代码

var param = {
  isSound:false
};
zyBaiduFace.setSound(param);

可用性

Android系统,ios系统

可提供的1.0.7及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/24