一个欲儿的博客

一个欲儿的博客

Pyhton之人脸比对
2020-03-14

臭逼话少,先把代码上了

创建应用的方式跟上一篇帖子类似:http://www.anyuer.club/?id=111


源代码如下

import json
from urllib import request
import base64
# client_id 为官网获取的AK, client_secret 为官网获取的SK
# 获取token
def gettoken():       # client_id 为官网获取的AK, client_secret 为官网获取的SK
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=fidimLjFuQuf3FIwodbRTN6f' \
           '&client_secret=M4oW3SVd2uhzQldgdVLIRPcYjIyFCDdw'
    my_request = request.Request(host)
    my_request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = request.urlopen(my_request)
    content = response.read()
    content = bytes.decode(content)
# 转化为字典
    content = eval(content[:-1])
    return content['access_token']

def imgencode(filepath1, filepath2):
    f1 = open(filepath1, 'rb')
    f2 = open(filepath2, 'rb')
    #参数image:图像base64编码 分别base64编码后的2张图片数据
    img1 = base64.b64encode(f1.read())
    img2 = base64.b64encode(f2.read())
    image_1 = str(img1, 'utf-8')
    image_2 = str(img2, 'utf-8')
    return image_1, image_2

def facematch(imagr_1, image_2, access_token):
    request_url = "https://aip.baidubce.com/rest/2.0/face/v3/match"
    params = json.dumps(
    [{"image": image_1, "image_type": "BASE64", "face_type": "LIVE", "quality_control": "LOW"},
     {"image": image_2, "image_type": "BASE64", "face_type": "CERT", "quality_control": "LOW"}]).encode(encoding='UTF8')

    request_url = request_url + "?access_token=" + access_token
    my_request = request.Request(url=request_url, data=params)
    my_request.add_header('Content-Type', 'json')
    response = request.urlopen(my_request)
    content = response.read()
    content = bytes.decode(content)
    content = eval(content)
    result = content['result']
    score = result['score']
    return result

if __name__ == '__main__':
    token = gettoken()
    image_1, image_2 = imgencode('D://001.JPG', 'D://002.JPG')
    result = facematch(image_1, image_2, token)
    print(result)


发表评论: