arcFacePublic

立即使用

概述

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'

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及更高版本