呼叫百度AI實現人臉識別-Python

參考:
1、http://ai.baidu.com/docs#/Face-Python-SDK/top

2、http://blog.csdn.net/u012236875/article/details/74695677


使用百度AI的人臉識別庫,做出的呼叫示例,其中filePath是圖片的路徑,可以自行傳入一張圖片,進行識別。
下載baidu-aip這個庫,可以直接使用pip下載:pip install baidu-aip 或者進入https://ai.baidu.com/sdk 下載對應的SDK

程式碼

# -*- coding: UTF-8 -*-  
from aip import AipFace
import cv2
import matplotlib.pyplot as plt
# 定義常量
APP_ID = '9851066'
API_KEY = 'LUGBatgyRGoerR9FZbV4SQYk'
SECRET_KEY = 'fB2MNz1c2UHLTximFlC4laXPg7CVfyjV'
# 初始化AipFace物件  
aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)
# 讀取圖片  
filePath = "messi_2.jpg"
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
# 定義引數變數
options = {
'max_face_num': 1, # 影象數量
'face_fields': "age,beauty,expression,faceshape",
}
# 呼叫人臉屬性檢測介面  
result = aipFace.detect(get_file_content(filePath), options)
# print(result)
# print(type(result))
# 解析位置資訊
location=result['result'][0]['location']
left_top=(location['left'],location['top'])
right_bottom=(left_top[0] location['width'],left_top[1] location['height'])
img=cv2.imread(filePath)
cv2.rectangle(img,left_top,right_bottom,(0,0,255),2)
cv2.imshow('img',img)
cv2.waitKey(0)
# plt.imshow(img,"gray")
# plt.show()

注:如果一張圖上有多個人臉,只會識別一個人臉

附加:

關於APP_ID、API_KEY、SECRET_KEY的獲取
進入https://console.bce.baidu.com/ai/ ,在該網站建立對應的應用

如:依次進入 產品服務 / 影象識別 – 應用列表 / 建立應用

如:人臉識別,建立應用時選擇人臉識別,需要什麼就建立對應的應用,建立完成後就能獲取到APP_ID、API_KEY、SECRET_KEY

這裡寫圖片描述