一.安装人脸识别 Python SDK
首先在当前的python环境中使用pip install baidu-aip安装人脸识别 Python SDK。
二.算法思路
1.首先通过python SDK中的AipFace类获取一个客户端对象。
from aip import AipFace""" 你的APPID,API_KEY和SECRET_KEY """
APP_ID = '你的APP_ID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的SECRET_KEY'client = AipFace(APP_ID, API_KEY, SECRET_KEY)
2.通过获取的客户端对象client进行操作。
(1)当前代码所在目录有两张jpg图片如下
(2)通过客户端的match方法进行对比操作,观察打印出的result值
result = client.match([{'image': str(base64.b64encode(open('liu.jpg', 'rb').read()), 'utf-8'),'image_type': 'BASE64',},{'image': str(base64.b64encode(open('liu1.jpg', 'rb').read()), 'utf-8'),'image_type': 'BASE64',}
])
print(result)
"""
{'error_code': 0,'error_msg': 'SUCCESS','log_id': 9405352011017,'timestamp': 1592828860,'cached': 0,'result': {'score': 94.24956512,'face_list': [{'face_token': '37829d5d5ab0e810173cff9d8e78a4db'},{'face_token': '85b64922c3f2d5fc7aedfbae67c6f37e'}]}
}"""
(3)发现result为一个json类型的数据,可以通过字典方式进行获取。如:先通过result['error_msg']判断是否对比成功,成功则输出result['result']['score']为对比完的相似度分数;否则打印出错误信息。
if result['error_msg'] == 'SUCCESS':score = result['result']['score']print(score)
三.完整代码
# encoding:utf-8
from aip import AipFace
import base64""" 你的APPID,API_KEY和SECRET_KEY """
APP_ID = '你的APP_ID'
API_KEY = '你的API_KEY'
SECRET_KEY = '你的SECRET_KEY'# 封装成函数,返回获取的client对象
def get_client(APP_ID, API_KEY, SECRET_KEY):"""返回client对象:param APP_ID::param API_KEY::param SECRET_KEY::return:"""return AipFace(APP_ID, API_KEY, SECRET_KEY)client = get_client(APP_ID, API_KEY, SECRET_KEY)
result = client.match([{'image': str(base64.b64encode(open('liu.jpg', 'rb').read()), 'utf-8'),'image_type': 'BASE64',},{'image': str(base64.b64encode(open('liu1.jpg', 'rb').read()), 'utf-8'),'image_type': 'BASE64',}
])if result['error_msg'] == 'SUCCESS':score = result['result']['score']print(score)
else:print('错误信息:', result['error_msg'])
四.运行效果