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({params}, callback(ret, err))
licenseID:
licenseFileName:
groupID://1.0.9及以下版本需要 groupID apiKey secretKey参数
apiKey:
secretKey:
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请谨慎修改 时间小了会出现不能识别的问题
ret:
{
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及更高版本
打开人脸识别 1.0.9及之前版本有效
open({params}, callback(ret, err))
group_id_list:
quality_control:
liveness_control:
user_id:
ret:
{
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版本
识别得到一张图片 地址 1.0.9及之前版本有效
getPic({params},callback(ret))
filePath:
ret:
{
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版本
将地址图片转换成base64
pictureToBase64({params},callback(ret))
filePath:
ret:
{
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及更高版本
将base64转换成地址图片 可自定义路径
base64ToPicture({params},callback(ret))
base64:
filePath:
ret:
{
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及更高版本
注册到人脸库 1.0.9及之前版本有效
register({params},callback(ret))
user_id:
name:
filePath:
group_id:
quality_control:
liveness_control:
action_type:
ret:
{
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({params},callback(ret))
isLivenessRandom:
7个动作 请最少选择一种 不然就是7种按顺序执行
eye:
mouth:
head_up:
head_down:
head_left:
head_right:
left_right:
isSound:
filePath:
base64:
DesignationCamera:
degree:
ret:
{
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({params},callback(ret))
isSound:
filePath:
base64:
DesignationCamera:
degree:
ret:
{
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及更高版本
手动检测识别 1.0.9及之前版本有效
login({params},callback(ret))
filePath:
group_id_list:
quality_control:
liveness_control:
user_id:
ret:
{
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版本
打开悬浮在frame之上的摄像头区域,可自定义界面
openRectface({params},callback(ret))
rect:
{
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:
fixed:
type:
//动态时传入以下动作参数
isLivenessRandom:
7个动作 请最少选择一种 不然就是7种按顺序执行
eye:
mouth:
head_up:
head_down:
head_left:
head_right:
left_right:
isSound:
filePath:
base64:
DesignationCamera:
degree:
ret:
{
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及更高版本
关闭自定义界面 *注意关闭识别时请务必调用此api 而且必须使用openRectface的那个对象 可以发送监听去调用 close()
zyBaiduFace.close();
Android系统,ios系统
可提供的1.0.7及更高版本
监听APP退到后台 具体使用查看demo
pause()
api.addEventListener({
name:'pause'
}, function(ret, err){
zyBaiduFace.pause();
});
Android系统
可提供的1.0.7及更高版本
监听APP回到前台 具体使用查看demo
resume()
api.addEventListener({
name:'resume'
}, function(ret, err){
zyBaiduFace.resume();
});
Android系统
可提供的1.0.7及更高版本
设置是否开启提示音
setSound({params})
isSound:
类型:布尔 描述:(可选项)设置是否开启提示音 默认值:false
var param = {
isSound:false
};
zyBaiduFace.setSound(param);
Android系统,ios系统
可提供的1.0.7及更高版本