init liveFaceDetect endLiveFaceDetect getImageByData faceVerify detectFaceFromArray getImageFeature detectFaceFromFeature
#概述
此插件封装了汤商人脸识别sdk,可实现对人脸追踪、搜索、比对等功能。授权方式为根据设备uuid获取lic使用手动授权。
使用获取的lic初始化
init({params}, callback(ret))
lic:
ret:
{
status:true //布尔类型;操作成功状态值
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.init({
lic: ''
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
活体人脸检测
liveFaceDetect({params}, callback(ret))
rect:
{
x:, //数字类型;控件左上角x坐标
y:, //数字类型;控件左上角y坐标
w:, //数字类型;控件宽
h:, //数字类型;控件高
}
rotation
livence
fixedOn:
fixed:
ret:
{
status:true, //布尔类型;操作成功状态值
result:{ //JSON对象类型;扫描结果
type:1, //数字类型;类型;取值范围:0/检测到hack、1/检测到真人,2/检测到人脸
feature:'', //字符串类型;人脸特征值
data:'', //字符串类型;图片数据,base64字符串
faceData:'', //字符串类型;图片中人脸数据,base64字符串
width:, //数字类型;图片宽度
height:, //数字类型;图片高度
facePar:{ //JSON对象类型;检测到人脸参数;仅livence为1时返回
faceWidth:, //数字类型;人脸宽度
faceHeight:, //数字类型;人脸高度
centerx:, //数字类型;人脸中心x坐标
centery:, //数字类型;人脸中心y坐标
raw:, //小数类型;水平旋转角度
roll:, //小数类型;旋转角度
}
},
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.liveFaceDetect({
rect: {
x:,
y:,
w:,
h:,
},
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
结束活体人脸检测
endLiveFaceDetect({params}, callback(ret))
ret:
{
status:true //布尔类型;操作成功状态值
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.endLiveFaceDetect({
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
根据liveFaceDetect接口返回的数据获取图片
getImageByData({params}, callback(ret))
data:
width:
height:
ret:
{
status:true, //布尔类型;操作成功状态值
imagePath:'', //字符串类型;图片路径
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.getImageByData({
data:'',
width:,
height:,
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
人脸图片比对相似度
faceVerify({params}, callback(ret))
firImagePath:
secImagePath:
ret:
{
status:true, //布尔类型;操作成功状态值
similarity:, //小数类型;两张图片中人脸相似度,取值范围0-1,-1/第一个图片未识别到人脸,-2/第二个图片未识别到人脸
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.faceVerify({
firImagePath:'',
secImagePath:,
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
一对多检测人脸,返回相似度最高几张
detectFaceFromArray({params}, callback(ret))
imagePath:
imageArray:
[{
name:'', //字符串类型;图片名称,用来标记图片
path:'' //字符串类型;图片路径,支持widget、fs路径
},
]
maxCount:
ret:
{
status:true, //布尔类型;操作成功状态值
sameImages:[ //JSON数组类型;比对后相同的图片名称
{
name:'', //字符串类型;图片名称
score:, //小数类型;相似分数
},
]
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.detectFaceFromArray({
imagePath:'',
imageArray:[],
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
获取人脸特征
getImageFeature({params}, callback(ret))
imagePath:
ret:
{
status:true, //布尔类型;操作成功状态值
hasFace:, //布尔类型;图片中是否有人脸
featureStr:'', //字符串类型;人脸特征字符串
feature:[ //JSON数组;人脸特征,hasFAce为true时返回
{ //JSON对象;图片人脸特征
id:, //数字类型;人脸id
eyeDist:, //小数类型;两眼间距离
pitch:, //小数类型;俯仰角,真实度量的上负下正。
pointCount: //数字类型;获取人脸关键点数量
pointsArray:[ //JSON数组;关键点数组
{
x:, //数字类型;关键点x坐标
y:, //数字类型;关键点y坐标
}
],
roll:, //小数类型;旋转角,真实度量的左负右正。
yaw:, //小数类型;水平旋转角,真实度量的左负右正。
score:, //小数类型;人脸检测分数。
rect:{ //JSON对象类型;人脸位置
bottom:, //数字类型;人脸下边位置
left:, //数字类型;人脸左边位置
right:, //数字类型;人脸右边位置
top:, //数字类型;人脸上边位置
},
} ],
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.getImageFeature({
imagePath:'',
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
通过比对人脸特征一对多检测人脸,返回相似度最高几张
detectFaceFromFeature({params}, callback(ret))
baseFeature:
featureArray:
[{
name:'', //字符串类型;特征值名称
feature:'' //字符串类型;特征值
},
]
maxCount:
ret:
{
status:true, //布尔类型;操作成功状态值
sameImages:[ //JSON数组类型;比对后相同的图片名称
{
name:'', //字符串类型;图片名称
score:, //小数类型;相似分数
},
]
}
err:
{
errorCode:, //数字类型;错误码,详情请看附录
msg:'', //字符串类型;错误信息
}
var STFace = api.require('STFace');
STFace.detectFaceFromFeature({
baseFeature:'',
featureArray:[],
}, function(ret, err) {
api.alert({msg: JSON.stringify(ret)});
});
Android系统
可提供的1.0.0及更高版本
-1 无效参数,请检查各输入参数的值是否正确 -2 句柄错误,请检查输入句柄是否已经被初始化 -3 内存不足 -4 运行失败,内部错误,请联系sensetime解决 -6 不支持的图像格式,详细请参考接口说明确认接口支持的图像格式 -7 文件不存在,请检查传入路径是否正确ect -8 模型格式不正确导致加载失败 -9 模型文件过期,请检查系统时间是否在模型有效期内 -13 license不合法(license不正确或license未加载) -14 包名错误,请检查packagename(android)和bundle -15 SDK过期,请检查系统时间是否在sdk有效期内 -16 UUID不匹配,license绑定的硬件指纹和当前设备的硬件指纹不一致 -17 在线验证连接失败,请检查设备是否可以正确连接互联网 -18 在线验证超时,请检查设备是否可以正确连接互联网 -19 在线校验失败 -20 license不可激活 -21 license激活失败 -22 激活码无效 -23 产品代码版本不一致 -24 不支持的平台 -25 模型解压缩失败 -26 子模型不存在 -27 不需要在线激活 -28 在线激活失败 -29 在线激活码无效 -30 在线激活连接失败 -32 加密芯片验证初始化错误 -33 加密芯片验证失败 -34 设置指令集错误 -993 硬狗数据不支持远程登陆读取 -994 机器cpu核心数大于授权核心数 -995 网络连接异常 -996 超出限制的句柄数量 -997 无法写入本地文件系统 -998 本地socket初始化失败(socket版本需要2.2以上) -999 文件无法访问 -1000 不支持的函数调用方式 -1001 设备无法获取硬件指纹,请联系sensetime获取帮助 -1002 证书内容非法 -1003 证书类型错误 -1004 超过限制签发数量 -1005 授权不包含该功能 -1006 授权不支持的模型版本 -1007 超出最大支持搜索数 -1009 激活次数已用完 -1010 重复授权 -1011 找不到所需功能 -1019 无法识别指定的文件ID -2000 未知错误 -2001 参数错误