Pyhton之人脸比对
2020-03-14
臭逼话少,先把代码上了
创建应用的方式跟上一篇帖子类似:https://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)
发表评论: