首页 > 编程语言 > python 使用百度AI接口进行人脸对比的步骤
2021
03-17

python 使用百度AI接口进行人脸对比的步骤

1. 注册百度云账号

注册百度智能云,提交申请。

创建应用获取AppID,API Key,Secret Key。

2. 安装baidu python api

人脸对比 API 文档

pip install baidu-aip

调用:

import base64
from aip import AipFace

APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipFace(APP_ID, API_KEY, SECRET_KEY)

result = client.match([
  {
   'image': str(base64.b64encode(open('D:/chenjy/1.png', 'rb').read()), 'utf-8'),
   'image_type': 'BASE64',
  },
  {
   'image': str(base64.b64encode(open('D:/chenjy/2.png', 'rb').read()), 'utf-8'),
   'image_type': 'BASE64',
  }
 ])

print(result)

返回值:

返回主要参数说明:

参数名 必选 类型 说明
score float 人脸相似度得分,推荐阈值80分
face_list array 人脸信息列表
face_token string 人脸的唯一标志

3.调用摄像头

import cv2

cap = cv2.VideoCapture(0) # 打开摄像头

while True:
 ret, frame = cap.read()
 frame = cv2.flip(frame, 1)

 cv2.imshow('window', frame)
 cv2.imwrite('D:/chenjy/2.png', frame) # 保存路径

 cv2.waitKey(2000)

cap.release()
cv2.destroyAllWindows()

4.完整测试程序

import cv2
import base64
from aip import AipFace

APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'


client = AipFace(APP_ID, API_KEY, SECRET_KEY)


def get_result():
 result = client.match([
  {
   'image': str(base64.b64encode(open('D:/chenjy/1.png', 'rb').read()), 'utf-8'),
   'image_type': 'BASE64',
  },
  {
   'image': str(base64.b64encode(open('D:/chenjy/2.png', 'rb').read()), 'utf-8'),
   'image_type': 'BASE64',
  }
 ])

 if result['error_msg'] == 'SUCCESS':
  score = result['result']['score']
  print(result)
  print('相似度:'+str(score))
 else:
  print('服务器错误')


cap = cv2.VideoCapture(0) # 打开摄像头

while True:
 ret, frame = cap.read()
 frame = cv2.flip(frame, 1)

 cv2.imshow('window', frame)
 cv2.imwrite('D:/chenjy/2.png', frame) # 保存路径

 cv2.waitKey(2000)

 get_result()

cap.release()
cv2.destroyAllWindows()

结果:

照片加了模糊处理

以上就是python 使用百度AI接口进行人脸对比的步骤的详细内容,更多关于python 人脸对比的资料请关注自学编程网其它相关文章!

编程技巧