计算机视觉:支持M:N匹配与活体检测的百度人脸Api调用典例

前言:

折腾了一晚上,有感于百度支持文档尚未完全兼容Python3,和笔记本续航不行。彻底搞懂之后,在这里写一个小例子,方便大家参考调试。

 

一:首先,先说几个大家关注的方面:

报错信息整理,比官方文档更全面的小站:http://aixiaoshuai.mydoc.io/

222209

face token not exist

face_token不存在 1.请检查确认face_token是否正确 2.请检查image_type参数值是否为FACE_TOKEN 3.请确认image参数填写的值为face_token 如果为图片的base64数据,则image_type参数值是BASE64

param参数中的[image_type]建议用BASE64,这是最省事的办法。这篇教程以此为基础展开。

 

转换常见图片格式至BASE64方法:

def img_to_BASE64(slef,path):
    with open(path,'rb') as f:
        base64_data = base64.b64encode(f.read())
        return base64_data

 

获取Access_TOKEN方法:

def get_accessToken(self):
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + self.AK + '&client_secret=' + self.SK
    response = requests.get(host, headers=self.headers)
    json_result = json.loads(response.text)
    return json_result['access_token']

 

 

 

注意access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token

笔者实际操作中,采取每次请求都拉取新token。优点你懂。

获取过程中可能遇到的问题解释:

 

invalid_clientunknown client id                          API Key不正确

invalid_clientClient authentication failed           Secret Key不正确

 

 

在Python 3里,我们这样定义一个结构,这里与官方文档不同:

#典型结构sample,不需要加\
sample = {"image":"test.JPG","image_type":"FACE_TOKEN","face_field":"faceshape,facetype"}

 

 

二:API调用 

  • 返回字段和它的意义
字段 必选 类型 说明
face_num int 检测到的图片中的人脸数量
face_list array 人脸信息列表,具体包含的参数参考下面的列表。
+face_token string 人脸图片的唯一标识
+location array 人脸在图片中的位置
++left double 人脸区域离左边界的距离
++top double 人脸区域离上边界的距离
++width doubl
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值