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设计】。

相关文章

Python 实现一行输入多个值的方法

Python 实现一行输入多个值的方法

python如何实现一行输入多个值呢? 例如 读入两个数10 23到a b  中。 很简单   a,b = input().split()  即可...

Python实现将文本生成二维码的方法示例

本文实例讲述了Python实现将文本生成二维码的方法。分享给大家供大家参考,具体如下: #coding:utf-8 ''' Python生成二维码 v1.0 主要将文本生成二维码图片...

浅述python中深浅拷贝原理

前言 在c++中参数传递有两种形式:值传递和引用传递。这两种方式的区别我不在此说,自行补上,如果你不知道的话。我先上python代码,看完我们总结一下,代码如下: # copy m...

Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法

Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法

本文实例讲述了Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法。分享给大家供大家参考。具体如下: 看看下面的例子和效果吧 # -*- coding: utf...

django连接mysql配置方法总结(推荐)

最近在学习django,学到第五章模型时,需要连接数据库,然后,在这里分享一下方法。 起初是不知道怎样配置mysql数据库,但是还好,django的官网上面有相关的配置方法,下面就直接...