zyBaiduFace
来自于:勇可可立即使用
init open getPic pictureToBase64 register faceLive faceDetect login openRectface close pause resume setSound
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
开始使用
使用模块之前必须先在代码中申请必要权限。
api.requestPermission({
list:['camera','storage']
}, function(ret, err){
});
概述
简介
zyBaiduFace封装了百度人脸识别离线采集SDK。
IOS SDK版本为v3.3.0,云编译最低版本为9.0,Android SDK版本为v3.3.0,云编译最低版本为4.0.3。
使用之前须从百度开放平台申请开发者账号并完成企业认证,获取 LicenseID和 LicenseFileName。
必须!!!!
config中需配置申请到的apiKey和secretKey也可以init中配置 二者必选其一
<feature name="zyBaiduFace">
<param name="apiKey" value="*"/>
<param name="secretKey" value="*"/>
</feature>
模块接口
init
初始化模块,使用模块前必须调用
init({params}, callback(ret, err))
params
licenseID:
- 类型:字符串
- 描述:(必项)百度离线采集sdk中申请到的授权信息 License ID
licenseFileName:
- 类型:字符串
- 描述:(必项)百度离线采集sdk中申请到的授权信息 license FileName
groupID:
- 类型:字符串
- 描述:(必项)人脸库组名
apiKey:
- 类型:字符串
- 描述:(选项)百度人脸识别应用apiKey 在config中填写之后此处可不填
secretKey:
- 类型:字符串
- 描述:(选项)百度人脸识别应用secretKey 在config中填写之后此处可不填
VALUE_CROP_FACE_SIZE:
- 类型:数字型
- 描述:(选项)裁剪人脸大小 默认400
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true, //布尔型 返回true false
"result":"", //object 成功返回 AccessToken
}
示例代码
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
open
打开人脸识别
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getPic
识别得到一张图片 地址
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
pictureToBase64
将地址图片转换成base64
pictureToBase64({params},callback(ret))
params
filePath:
- 类型:字符型
- 描述:(必填)图片路径 支持fs widget 等本地路径 转换之后 字符串较大 请不要使用alert 免得app卡死
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及更高版本
register
注册到人脸库
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
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:
- 类型:数字串
- 描述:(选填)安卓使用 后置摄像头时需设置成 270
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
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.1及更高版本
faceDetect
静态检测采集图像(带提示音) getPic是不带提示音的
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){
alert(JSON.stringify(ret));
if(ret.status){
//filePath = "data:image/png;base64,"+ret.result;
filePath = ret.result;
}
});
可用性
iOS系统,Android系统
可提供的1.0.1及更高版本
login
手动检测识别
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.1及更高版本
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
关闭自定义界面
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及更高版本