Python使用百度api做人脸对比的方法

yipeiwu_com6年前Python基础

安装SDK:

pip install baidu-aip

如果在pycharm里也可以在setting----Project Interpreter---右边绿色加号,输入baidu,安装baidu-aip

入门代码:

先去百度AI开放平台注册一个账号,然后开通人脸识别,免费的

http://ai.baidu.com/tech/face

之后把得到的Api key secretkey 填进去。

from aip import AipFace
 
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
 
client = AipFace(APP_ID, API_KEY, SECRET_KEY)
 
""" 读取图片 """
def get_file_content(filePath):
  with open(filePath, 'rb') as fp:
    return fp.read()
 
images = [
  get_file_content('example0.jpg'),
  get_file_content('example1.jpg'),
]
 
""" 调用人脸比对 """
result_json=client.match(images);
print(result_json)

会自动把你当前工程目录下的example0.jpg 和example1.jpg进行比对。

最后会得到这样一个json字符串

{'result': [{'index_i': '0', 'index_j': '1', 'score': 21.207210540771}], 'result_num': 1, 'log_id': 2864712345030414}

里面的score就是两张人脸的相似度 了,这里我用的不同的人脸,只有21%左右

可以再写一个判断的方法:

def judge(images):
  result_json = client.match(images);
  result = result_json['result'][0]['score']
  if result > 80:
    print("同一個人")
  else:
    print("不是同一個人")

以上这篇Python使用百度api做人脸对比的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

连接pandas以及数组转pandas的方法

pandas转数组 np.array(pandas) 数组转pandas pandas.DataFrame(numpy) pandas连接,只是左右接上,不合并值 df...

在Pandas中给多层索引降级的方法

# 背景介绍 通常我们不会在Pandas中主动设置多层索引,但是如果一个字段做多个不同的聚合运算, 比如sum, max这样形成的Column Level是有层次的,这样阅读非常方便,但...

Python3 翻转二叉树的实现

Python3 翻转二叉树的实现

提出问题:翻转一棵二叉树。(除根结点以外) 原始二叉树: 新二叉树: 解题思路:遇见二叉树先想到递归。从最下层的叶子结点开始置换左右子节点,一直置换到到最上层的根结点的左右节点为止...

python 从文件夹抽取图片另存的方法

有一个比较大的数据集需要自己处理,在分出训练集和测试集时,如果靠手动实在太麻烦,于是自己写了一段代码。(其实就是在某一路径下的子文件夹里取出符合要求的图片,放到另一个路径的对应文件夹中)...

基于h5py的使用及数据封装代码

1. h5py简单介绍 h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一...