远程人脸识别技术主要包括人脸捕捉、特征提取和特征比对三个步骤。
首先,在游戏中,玩家需要拍摄自己的脸部照片,然后将其上传至服务器,服务器会将照片中的人脸信息提取出来,并进行特征提取。接着,服务器将照片中提取出来的特征与玩家账号中保存的特征进行比对,如果两者的特征比对一致,则表明确认是同一个玩家,从而实现安全认证。
不可以回调。腾讯云人脸识别(FaceRecognition)是基于腾讯优图领先的面部分析技术,提供人脸检测与分析、五官定位、人脸搜索、人脸比对、人脸验证、活体检测等多种服务。
小程序使用腾讯优图实现人脸检测
wx.request(OBJECT)
使用接口
https://youtu.api.qcloud.com/youtu/api/detectface
这里说明了这个接口需要一个签名和appid,图片数据需要转成base64
本来是使用canvas实现图片截图,在通过upng.js 转成base64位截图,但是后来发现这样生成的图片文件量太大了;
导致检测接口经常超过限制5M;
wx.request(OBJECT)有个参数responseType设置响应参数数据,再通过wx.arrayBufferToBase64()转成base64
wx.request({
url:path,//图片路径
method:'GET',
responseType: 'arraybuffer',
success:function(res){
let base64 = wx.arrayBufferToBase64(res.data)
that.getSignature(base64, path)//获取签名
}
})
签 名Signature和appid通过后台服务器设置传给你
之后就可以发送请求到 http://open.youtu.qq.com/youtu/api/detectface 接口了
wx.request({
url: 'http://open.youtu.qq.com/youtu/api/detectface',
data: {
'app_id': 'id',//优图appid
'image': base64,
'mode': 1,
},
method: 'POST',
header: {
'Content-type': 'text/json', // text
'Authorization': signature, //签名
},
success: function(res) {
console.log(res.data)
var data = res.data
var code = data.errorcode
if(code == 0){
console.log(face_info)
console.log('存在头像')
}else{
console.log('不存在头像')
}
}
})
这里有几点要注意的,文档上面传字段
请求头
signature 修改为 Authorization
请求包体
id 修改为 app_id
接口返回数据
errorcode为0的时候表示识别出人脸了
其他状态都是无法识别出人脸
如:
总的来说 接口功能很强大 响应速度也非常快
这个平台还有好多接口,暂时未探索
文档
优图人脸识别文档
腾讯优图开放平台
微信小程序开发文档
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)