zyBaiduFace

来自于:勇可可立即使用

init open getPic pictureToBase64 register faceLive faceDetect login openRectface close pause resume setSound

论坛示例

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

开始使用

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

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

概述

简介

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

IOS SDK版本为v3.3.0,云编译最低版本为9.0,Android SDK版本为v3.3.0,云编译最低版本为4.0.3。

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

百度开发平台控制台

必须!!!!

制作所需自定义模块文档

config中需配置申请到的apiKey和secretKey也可以init中配置 二者必选其一

  1. <feature name="zyBaiduFace">
  2. <param name="apiKey" value="*"/>
  3. <param name="secretKey" value="*"/>
  4. </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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. "result":"", //object 成功返回 AccessToken
  4. }

示例代码

  1. var zyBaiduFace = api.require('zyBaiduFace');
  2. var param = {
  3. "licenseID":api.systemType=="ios"?'xx-face-ios':'xx-face-android',
  4. "licenseFileName":api.systemType=="ios"?'idl-license.face-ios':'idl-license.face-android',
  5. "groupID":"moduleTest",
  6. "apiKey":"x",
  7. "secretKey":"x",
  8. };
  9. zyBaiduFace.init(param, function(ret, err){
  10. alert(JSON.stringify(ret));
  11. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. "result":"", //object 成功返回 用户信息
  4. }

示例代码

  1. var zyBaiduFace = api.require('zyBaiduFace');
  2. zyBaiduFace.open({}, function(ret, err){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getPic

识别得到一张图片 地址

getPic({params},callback(ret))

params

filePath:

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

callback(ret)

ret:

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

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

pictureToBase64

将地址图片转换成base64

pictureToBase64({params},callback(ret))

params

filePath:

  • 类型:字符型
  • 描述:(必填)图片路径 支持fs widget 等本地路径 转换之后 字符串较大 请不要使用alert 免得app卡死

callback(ret)

ret:

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

示例代码

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

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. "result":"", //object 成功返回 用户信息
  4. }

示例代码

  1. var zyBaiduFace = api.require('zyBaiduFace');
  2. var param = {
  3. "user_id":userid,
  4. "name":name,
  5. "filePath":filePath
  6. //"group_id":"",
  7. "quality_control":"NORMAL",
  8. "liveness_control":"NORMAL",
  9. "action_type":"REPLACE"
  10. };
  11. zyBaiduFace.register(param, function(ret, err){
  12. alert(JSON.stringify(ret));
  13. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. result:{} //object 成功返回各种类型图片
  4. //bestimage0: 无动作图片(默认有)
  5. //headup 缓慢抬头
  6. //headleftorright 摇摇头
  7. //headright 向右缓慢转头
  8. //mouth 张张嘴
  9. //headdown 缓慢低头
  10. //headleft 向左缓慢转头
  11. //eye 眨眨眼
  12. }

示例代码

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

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. result:"" //字符串 正确返回图片地址 或base64
  4. }

示例代码

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

可用性

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 返回true false
  3. "result":{}, //object 成功返回 用户信息
  4. }

示例代码

  1. var zyBaiduFace = api.require('zyBaiduFace');
  2. var param = {
  3. "filePath":filePath,
  4. // "group_id":"moduleTest",
  5. "quality_control":"NORMAL",
  6. "liveness_control":"NORMAL",
  7. };
  8. zyBaiduFace.login(param, function(ret, err){
  9. alert(JSON.stringify(ret));
  10. });

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

openRectface

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

openRectface({params},callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:

    1. {
    2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
    3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
    4. w: api.frameWidth - 100, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
    5. h: api.frameWidth - 100 //(可选项)数字类型;模块的高度;默认:所属的 Window 或 Frame 的宽度
    6. }

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 对象
  • 内部字段:
  1. {
  2. status:true, //布尔型 识别中返回false 最后识别完成 返回true
  3. "result":{}, //object 返回识别中的信息及识别结果 具体查看日志
  4. }

示例代码

  1. var zyBaiduFace = api.require('zyBaiduFace');
  2. var param = {
  3. rect:{
  4. x:50,
  5. y:150,
  6. w:api.winWidth-100,
  7. h:api.winWidth-100
  8. },
  9. fixedOn:api.frameName,
  10. fixed:true,
  11. type:"faceDetect",//类型 faceDetect 静态、默认 faceLive 动态
  12. //动态时传入以下参数
  13. "isLivenessRandom":true,//是否随机 检测动作 默认false
  14. "eye":true,//动作 眨眨眼 7个动作 请最少选择一种 不然就是7种按顺序执行
  15. "mouth":true,//动作 张张嘴
  16. "head_up":false,//动作 缓慢抬头
  17. "head_down":false,//动作 缓慢低头
  18. "head_left":false,//动作 向左缓慢转头
  19. "head_right":false,//动作 向右缓慢转头
  20. "left_right":false,//动作 摇摇头
  21. "isSound":true,//默认是否有提示音 默认true
  22. "filePath":"fs://face.jpg",// 静态时为图片地址 动态时为文件夹路径 (选填)传入自定义路径 将保存到 你的路径下面 支持fs 不支持widget 不传保存到默认路径 请不要填文件名 这是里文件夹路径
  23. "base64":false,//是否返回base64 传true就返回base64 不传或者false 就是文件路径
  24. DesignationCamera:"1",// 0后置 1前置【默认】
  25. degree:90,// 真实识别角度 0手机向左横屏 90手机正竖屏【默认】 180手机向右竖屏 270倒竖屏 = 后置摄像头需反过来 反正自己试就行了
  26. };
  27. zyBaiduFace.openRectface(param,function(ret){
  28. console.log("zyBaiduFace:"+JSON.stringify(ret));
  29. });

可用性

iOS系统,Android系统

可提供的1.0.7及更高版本

close

关闭自定义界面

close()

示例代码

  1. zyBaiduFace.close();

可用性

Android系统,ios系统

可提供的1.0.7及更高版本

pause

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

pause()

示例代码

  1. api.addEventListener({
  2. name:'pause'
  3. }, function(ret, err){
  4. zyBaiduFace.pause();
  5. });

可用性

Android系统

可提供的1.0.7及更高版本

resume

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

resume()

示例代码

  1. api.addEventListener({
  2. name:'resume'
  3. }, function(ret, err){
  4. zyBaiduFace.resume();
  5. });

可用性

Android系统

可提供的1.0.7及更高版本

setSound

设置是否开启提示音

setSound({params})

params

isSound:

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

示例代码

  1. var param = {
  2. isSound:false
  3. };
  4. zyBaiduFace.setSound(param);

可用性

Android系统,ios系统

可提供的1.0.7及更高版本