arcFacePublic
init openFaceDetect closeFaceDetect detectImg compareFace addFace delFace getAllFace getImagePath compareAllFace
概述
arcFacePublic人脸检测模块,封装的虹软人脸检测sdk,将信息注册到本地,打开摄像头返回检测到的结果。 Android系统版本要求5.*以及以上
使用此模块之前必须先配置 config 文件,配置方法如下:
<feature name="arcFacePublic">
<param name="appId" value="" />
<param name="appKey_Android" value="" />
<param name="appKey_iOS" value="" />
</feature>
字段描述:
appId:虹软后台 应用appId appKey_Android:虹软后台 配置的android SDK KEY appKey_iOS:虹软后台配置的 iOS SDK KEY
此模块安卓需要权限:READ_PHONE_STATE、CAMERA、READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE
init
初始化引擎
init({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.init(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统 iOS系统
可提供的1.0.0及更高版本
openFaceDetect
开启人脸检测
openFaceDetect({params}, callback(ret, err))
params
rect:
- 类型:Json对象类型
- 描述:(可选项)控件位置参数
内部字段
{
x:0, //数字类型,控件左上角x坐标,默认:0
y:0, //数字类型;控件左上角y坐标,默认:0
w:100, //数字类型;控件宽,,默认:当前fram或win宽
h:200, //数字类型;控件高,默认:当前fram或win高
}
cameraId:
类型:数字类型
描述:(可选项)指定使用前摄像头或后摄像头
- 取值范围:0/后置摄像头,1/前置摄像头
- 默认:1
mirror:
- 类型:布尔类型
- 描述:(可选项)是否开启镜像,iOS不支持
- 默认:false
faceOrientation:
- 类型:字符串类型
- 描述:(可选项)设置检测人脸方向
- 取值范围:’0’/仅检测0度方向,’90’/仅检测90度方向,’180’/仅检测180度方向,’270’/仅检测270度方向,’ALL’/所有方向全部检测
- 默认:’ALL’
showFaceRect:
- 类型:布尔类型
- 描述:(可选项)识别到人脸是否显示人脸位置框
- 默认:false
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否返回正常信息
action:'', //字符串类型;触发事件,‘show’/控件添加成功,‘face’/识别到人脸
faceS:[{ //Json数组类型;人脸信息,当action为‘face’时返回
feature:'', //字符串类型;人脸特征信息base64字符串,iOS不支持
img:{ //Json对象类型;识别到人脸的图片信息,iOS不支持
content:'', //字符串类型;识别到人脸的图片的base64字符串
width:, //数字类型;图片宽
height: //数字类型;图片高
},
age:, //数字类型;年龄
sex:, //数字类型;性别,0/男 ,1/女,-1/未知
isAlive:, //布尔类型;是否是活体,iOS不支持
faceRect:{ //Json对象类型;图片中人脸位置
left:, //数字类型;人脸左边位置
top:, //数字类型;人脸上边位置
right:, //数字类型;人脸右边位置
bottom:, /数字类型;人脸下边位置
},
face3DAngle{ //Json对象类型;识别到人脸角度,android不支持
status:0, //数字类型;状态;0:成功,1:失败
rollAngle:0, //数字类型;横滚角
yawAngle:0, //数字类型;偏航角
pitchAngle:0, //数字类型;俯仰角
}
},
]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.openFaceDetect({
rect:{
x:0,
y:0,
w:300,
h:400,
},
cameraId:1,
mirror:true,
faceOrientation:'180',
fixedOn:api.frameName,
fixed:true
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统 iOS系统
可提供的1.0.0及更高版本
closeFaceDetect
关闭获取人脸控件
closeFaceDetect({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否关闭
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.closeFaceDetect(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统 iOS系统
可提供的1.0.0及更高版本
detectImg
开启人脸检测
detectImg({params}, callback(ret, err))
params
imgPath:
- 类型:字符串类型
- 描述:检测图片路径,支持fs,widget,原生路径。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否有人脸
faces:[{ //Json对象类型;人脸信息
feature:'', //字符串类型;人脸特征信息base64字符串,iOS不支持
age:, //数字类型;年龄
sex:, //数字类型;性别,0/男 ,1/女,-1/未知
isAlive:, //布尔类型;是否是活体,iOS不支持
faceRect:{ //Json对象类型;图片中人脸位置
left:, //数字类型;人脸左边位置
top:, //数字类型;人脸上边位置
right:, //数字类型;人脸右边位置
bottom:, /数字类型;人脸下边位置
},
face3DAngle{ //Json对象类型;识别到人脸角度,android不支持
status:0, //数字类型;状态;0:成功,1:失败
rollAngle:0, //数字类型;横滚角
yawAngle:0, //数字类型;偏航角
pitchAngle:0, //数字类型;俯仰角
}
},
]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.detectImg({
imgPath:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统 iOS系统
可提供的1.0.0及更高版本
compareFace
人脸对比返回相似度
compareFace({params}, callback(ret, err))
params
featureL:
- 类型:字符串类型
- 描述:对比人脸特征base64字符串,iOS传图片路径,支持fs,widget,
featureR:
- 类型:字符串类型
- 描述:被对比人脸特征base64字符串,iOS传图片路径,支持fs,widget,
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否返回正常信息
score:'', //小数类型;相似度
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.compareFace({
featureL:'',
featureR:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统 iOS系统
可提供的1.0.0及更高版本
addFace
添加人脸到本地库(iOS不支持)
addFace({params}, callback(ret, err))
params
feature:
- 类型:字符串类型
- 描述:人脸特征base64字符串
img:
- 类型:Json对象类型
- 描述:人脸图片base64字符串
内部字段:
{
content:'', //字符串类型;图片base64字符串
width:, //数字类型;图片宽
height:, //数字类型;图片高
}
name:
- 类型:字符串类型
- 描述:人脸对应信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否添加成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.addFace({
feature:'',
img:{
content:'',
width:,
height,
},
name:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
delFace
把人脸从本地库删除(iOS不支持)
delFace({params}, callback(ret, err))
params
name:
- 类型:字符串类型
- 描述:人脸对应信息
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否删除成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.delFace({
name:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getAllFace
获取本地库所有人脸信息(iOS不支持)
getAllFace({params}, callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否获取成功
faces:[{
img: //Json对象类型;人脸图片信息
{
content:'', //字符串类型;图片base64字符串
width:, //数字类型;图片宽
height:, //数字类型;图片高
},
feature:'', //字符串类型;人脸特征Base64字符串
name:'', //字符串类型;人脸对应信息
},
]
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.getAllFace(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
getImagePath
根据图片base64字符串获取图片(iOS不支持)
getImagePath({params}, callback(ret, err))
params
imgBase64:
- 类型:字符串类型
- 描述:图片base64字符串
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否正常获取图片
imgPath:'', //字符串类型;转换后的图片路径
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.getImagePath({
imgBase64:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
compareAllFace
与本地库所有人脸对比返回最大相似度(iOS不支持)
compareAllFace({params}, callback(ret, err))
params
feature:
- 类型:字符串类型
- 描述:对比人脸特征base64字符串
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false 是否返回正常信息
score:'', //小数类型;相似度
name:'', //字符串类型;人脸对应信息
img:{ //Json对象类型;人脸图片信息
content:'', //字符串类型;图片base64字符串
width:, //数字类型;图片宽
height:, //数字类型;图片高
},
}
err:
- 类型:JSON 对象
- 内部字段:
{
errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
}
示例代码
var arcFacePublic= api.require('arcFacePublic');
arcFacePublic.compareAllFace({
feature:'',
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本