python学习|python+opencv+百度智能云 人脸识别——人脸相似度对比

一.设计流程
1.导入模块

from aip import AipFace import base64 import matplotlib.pyplot as plt

Aipface模块:调用百度AipFace做人脸检测
base64模块:对图片数据进行base64格式转码
plt模块:“plt”的设计是为了在不了解python的情况下使用matplotlib轻松绘制科学图形。当前实现将使用json配置文件。
2.网页请求
""" 你的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)

这块直接调用AipFace()函数,直接获取网络应答。
(本次所用结构与前两次不太一样,但是思路都一样
如果想用获取access_token的方法,可以参考其他文章:
视频人脸锁定、人脸融合、人数识别+标记)
3.解析网络回执
pic1 = "T.jpg" pic2 = "Y.jpg" client = get_client(APP_ID, API_KEY, SECRET_KEY) result = client.match([ { 'image': str(base64.b64encode(open(pic1, 'rb').read()), 'utf-8'), 'image_type': 'BASE64', }, { 'image': str(base64.b64encode(open(pic2, 'rb').read()), 'utf-8'), 'image_type': 'BASE64', } ]) print(result)if result['error_msg'] == 'SUCCESS': score = result['result']['score'] print('两张图片相似度:', score) else: print('错误信息:', result['error_msg'])pc1 = plt.imread(pic1) pc2 = plt.imread(pic2) plt.imshow(pc1) plt.show() plt.imshow(pc2) plt.show()

二.结果测试
python学习|python+opencv+百度智能云 人脸识别——人脸相似度对比
文章图片

【python学习|python+opencv+百度智能云 人脸识别——人脸相似度对比】三.总结

    推荐阅读