python如何使用百度AI接口进行人脸对比

2023-06-25,

这篇文章将为大家详细讲解有关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如何使用百度AI接口进行人脸对比.doc》

下载本文的Word格式文档,以方便收藏与打印。