当前位置:   article > 正文

调用百度人脸识别API

百度人脸识别

POSTMAN工具利用URL向百度智能云发送post请求

首先在百度云平台创建一个人脸识别的应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取调用接口所需的Access Token
获取Access Token

请求URL数据格式
我用的postman这款工具发送post请求来获取

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=3sR2BvWZ6Xg1VszNe6t6ej19&client_secret=G4NE4ewjZe8rCOd4xW6cCMm15m2IWZGN&

  • 1
  • 2

其中:

  • grant_type: 必须参数,固定为client_credentials;
  • client_id: 必须参数,应用的API Key;
  • client_secret: 必须参数,应用的Secret Key;

在这里插入图片描述
服务器返回的JSON文本参数如下:

· access_token: 要获取的Access Token;

· expires_in: Access Token的有效期(秒为单位,一般为1个月);

· 其他参数忽略,暂时不用;
若请求错误,服务器将返回的JSON文本包含以下参数:

· error: 错误码;关于错误码的详细信息请参考下方鉴权认证错误码。

· error_description: 错误描述信息,帮助理解和解决发生的错误。
进行调用接口可直接复制的请求地址:“https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add?access_token=【在第一步中获取的access-token】”

在这里插入图片描述

修改请求头(header)

Key栏输入:Content-Type

Value栏输入:application/x-www-form-urlencoded
在这里插入图片描述
输入请求参数(body)

先选择“x-www-form-urlencoded”,然后参考下图输入参数:

image_type=BASE64

image=图片的base64转码后的结果(此处要使用即将注册到人脸库的人脸图片),转码工具:https://tool.css-js.com/base64.html(注意:在base64转码工具中,要取消默认选项“包含头”)
在这里插入图片描述

group_id=gropu001(可自定义:由数字、字母、下划线组成)

user_id=0001(可自定义:由数字、字母、下划线组成)

在这里插入图片描述
最后点击send即可看见结果。

用python调用百度人脸识别

代码如下:

# 百度人脸识别技术
from aip import AipFace
import base64
import time
# 调用aipFace
def face_client():
    appid = '25942292'
    aipkey = '3sR2BvWZ6Xg1VszNe6t6ej19'
    secrectkey = 'G4NE4ewjZe8rCOd4xW6cCMm15m2IWZGN'
    result = AipFace(appid, aipkey, secrectkey)
    return result


# 人脸识别函数
def face_match(client, im1, im2):
    # 打开与读取图片
    image1 = open(im1, 'rb').read()
    image2 = open(im2, 'rb').read()
    # 对图片进行编码,上传到云端分析
    result = client.match([{'image': str(base64.b64encode(image1), 'utf-8'),
                            'image_type': 'BASE64'},
                           {'image': str(base64.b64encode(image2), 'utf-8'),
                            'image_type': 'BASE64'}, ])
    print(result)
    if result['result'] != None:
        print('%s和%s' % (im1, im2) + '相似度是%.2f'
              % result['result']['score'] + '%')
        if result['result']['score'] >= 90:
            print('%s和%s' % (im1, im2) + '相似度很高,是同一个人')
        else:
            print('%s和%s' % (im1, im2) + '相似度较低,无法判定是同一个人')


im1 = input('请输入第一张图片:')

im2 = input('请输入第二张图片:')
time.sleep(2)
client = face_client()
face_match(client, im1, im2)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

遇到的问题:Open api qps request limit reached
在代码中添加time.sleep(2)即可
这时候我们在项目文件夹中添加两张图片,在终端上测试以下:
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号