arcFacePublic

立即使用

init openFaceDetect closeFaceDetect detectImg compareFace addFace delFace getAllFace getImagePath compareAllFace

概述

arcFacePublic人脸检测模块,封装的虹软人脸检测sdk,将信息注册到本地,打开摄像头返回检测到的结果。 Android系统版本要求5.*以及以上

使用此模块之前必须先配置 config 文件,配置方法如下:

  1. <feature name="arcFacePublic">
  2. <param name="appId" value="" />
  3. <param name="appKey_Android" value="" />
  4. <param name="appKey_iOS" value="" />
  5. </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 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

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

可用性

Android系统 iOS系统

可提供的1.0.0及更高版本

openFaceDetect

开启人脸检测

openFaceDetect({params}, callback(ret, err))

params

rect:

  • 类型:Json对象类型
  • 描述:(可选项)控件位置参数
  • 内部字段

    1. {
    2. x:0, //数字类型,控件左上角x坐标,默认:0
    3. y:0, //数字类型;控件左上角y坐标,默认:0
    4. w:100, //数字类型;控件宽,,默认:当前fram或win宽
    5. h:200, //数字类型;控件高,默认:当前fram或win高
    6. }

    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 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否返回正常信息
  3. action:'', //字符串类型;触发事件,‘show’/控件添加成功,‘face’/识别到人脸
  4. faceS:[{ //Json数组类型;人脸信息,当action为‘face’时返回
  5. feature:'', //字符串类型;人脸特征信息base64字符串,iOS不支持
  6. img:{ //Json对象类型;识别到人脸的图片信息,iOS不支持
  7. content:'', //字符串类型;识别到人脸的图片的base64字符串
  8. width:, //数字类型;图片宽
  9. height: //数字类型;图片高
  10. },
  11. age:, //数字类型;年龄
  12. sex:, //数字类型;性别,0/男 ,1/女,-1/未知
  13. isAlive:, //布尔类型;是否是活体,iOS不支持
  14. faceRect:{ //Json对象类型;图片中人脸位置
  15. left:, //数字类型;人脸左边位置
  16. top:, //数字类型;人脸上边位置
  17. right:, //数字类型;人脸右边位置
  18. bottom:, /数字类型;人脸下边位置
  19. },
  20. face3DAngle{ //Json对象类型;识别到人脸角度,android不支持
  21. status:0, //数字类型;状态;0:成功,1:失败
  22. rollAngle:0, //数字类型;横滚角
  23. yawAngle:0, //数字类型;偏航角
  24. pitchAngle:0, //数字类型;俯仰角
  25. }
  26. },
  27. ]
  28. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.openFaceDetect({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:300,
  7. h:400,
  8. },
  9. cameraId:1,
  10. mirror:true,
  11. faceOrientation:'180',
  12. fixedOn:api.frameName,
  13. fixed:true
  14. },function(ret, err) {
  15. alert(JSON.stringify(ret));
  16. });

可用性

Android系统 iOS系统

可提供的1.0.0及更高版本

closeFaceDetect

关闭获取人脸控件

closeFaceDetect({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否关闭
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

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

可用性

Android系统 iOS系统

可提供的1.0.0及更高版本

detectImg

开启人脸检测

detectImg({params}, callback(ret, err))

params

imgPath:

  • 类型:字符串类型
  • 描述:检测图片路径,支持fs,widget,原生路径。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否有人脸
  3. faces:[{ //Json对象类型;人脸信息
  4. feature:'', //字符串类型;人脸特征信息base64字符串,iOS不支持
  5. age:, //数字类型;年龄
  6. sex:, //数字类型;性别,0/男 ,1/女,-1/未知
  7. isAlive:, //布尔类型;是否是活体,iOS不支持
  8. faceRect:{ //Json对象类型;图片中人脸位置
  9. left:, //数字类型;人脸左边位置
  10. top:, //数字类型;人脸上边位置
  11. right:, //数字类型;人脸右边位置
  12. bottom:, /数字类型;人脸下边位置
  13. },
  14. face3DAngle{ //Json对象类型;识别到人脸角度,android不支持
  15. status:0, //数字类型;状态;0:成功,1:失败
  16. rollAngle:0, //数字类型;横滚角
  17. yawAngle:0, //数字类型;偏航角
  18. pitchAngle:0, //数字类型;俯仰角
  19. }
  20. },
  21. ]
  22. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.detectImg({
  3. imgPath:'',
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否返回正常信息
  3. score:'', //小数类型;相似度
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.compareFace({
  3. featureL:'',
  4. featureR:'',
  5. },function(ret, err) {
  6. alert(JSON.stringify(ret));
  7. });

可用性

Android系统 iOS系统

可提供的1.0.0及更高版本

addFace

添加人脸到本地库(iOS不支持)

addFace({params}, callback(ret, err))

params

feature:

  • 类型:字符串类型
  • 描述:人脸特征base64字符串

img:

  • 类型:Json对象类型
  • 描述:人脸图片base64字符串
  • 内部字段:

    1. {
    2. content:'', //字符串类型;图片base64字符串
    3. width:, //数字类型;图片宽
    4. height:, //数字类型;图片高
    5. }

name:

  • 类型:字符串类型
  • 描述:人脸对应信息

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否添加成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.addFace({
  3. feature:'',
  4. img:{
  5. content:'',
  6. width:,
  7. height,
  8. },
  9. name:'',
  10. },function(ret, err) {
  11. alert(JSON.stringify(ret));
  12. });

可用性

Android系统

可提供的1.0.0及更高版本

delFace

把人脸从本地库删除(iOS不支持)

delFace({params}, callback(ret, err))

params

name:

  • 类型:字符串类型
  • 描述:人脸对应信息

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否删除成功
  3. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.delFace({
  3. name:'',
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

getAllFace

获取本地库所有人脸信息(iOS不支持)

getAllFace({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否获取成功
  3. faces:[{
  4. img: //Json对象类型;人脸图片信息
  5. {
  6. content:'', //字符串类型;图片base64字符串
  7. width:, //数字类型;图片宽
  8. height:, //数字类型;图片高
  9. },
  10. feature:'', //字符串类型;人脸特征Base64字符串
  11. name:'', //字符串类型;人脸对应信息
  12. },
  13. ]
  14. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

getImagePath

根据图片base64字符串获取图片(iOS不支持)

getImagePath({params}, callback(ret, err))

params

imgBase64:

  • 类型:字符串类型
  • 描述:图片base64字符串

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否正常获取图片
  3. imgPath:'', //字符串类型;转换后的图片路径
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.getImagePath({
  3. imgBase64:'',
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android系统

可提供的1.0.0及更高版本

compareAllFace

与本地库所有人脸对比返回最大相似度(iOS不支持)

compareAllFace({params}, callback(ret, err))

params

feature:

  • 类型:字符串类型
  • 描述:对比人脸特征base64字符串

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true //布尔型;true||false 是否返回正常信息
  3. score:'', //小数类型;相似度
  4. name:'', //字符串类型;人脸对应信息
  5. img:{ //Json对象类型;人脸图片信息
  6. content:'', //字符串类型;图片base64字符串
  7. width:, //数字类型;图片宽
  8. height:, //数字类型;图片高
  9. },
  10. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. errCode:, //数字类型;初始化失败错误码,请参考虹软平台返回错误码
  3. }

示例代码

  1. var arcFacePublic= api.require('arcFacePublic');
  2. arcFacePublic.compareAllFace({
  3. feature:'',
  4. },function(ret, err) {
  5. alert(JSON.stringify(ret));
  6. });

可用性

Android系统

可提供的1.0.0及更高版本