目錄
一、準備
二、實現
三、結果
四、**
python 3.7版本(其他版本也可以)
matplotlib 畫圖工具,安裝方式:pip install matplotlibpil 影象處理 ,安裝方式:pip install pillow
# client_id 為官網獲取的ak, client_secret 為官網獲取的sk
host = '官網獲取的ak】&client_secret=【官網獲取的sk】'
response = requests.get(host)
if response:
print(response.json())
詳細的介面文件說明見:
獲取到access token 後就能正常訪問人臉檢測介面了,請求url:
引數landmark、landmark72、 landmark150返回特徵點
詳細說明見官方文件:
最後利用matplotlib在影象上繪製特徵點
# post請求
def post_url(url, param):
response = requests.post(url, data=param, headers=headers)
return response.json()
# 獲取access token
def get_access_token():
host = ''
param =
response = post_url(host, param)
return response['access_token']
# 人臉檢測
def face_detect(file, access_token):
host = '' # 介面位址
url = host + "?access_token=" + access_token
with open(file, 'rb') as f:
img_base64 = base64.b64encode(f.read()) # 將影象進行base64轉換
param =
response = post_url(url, param)
print(response)
return response
# 繪製特徵點
def img_draw(file, arr):
image = image.open(file)
plt.figure("face")
plt.imshow(image)
x_arr =
y_arr =
for m in range(len(arr)):
point = arr[m]
x = point['x']
y = point['y']
plt.plot(x_arr, y_arr, 'r.')
plt.axis('off')
plt.show()
if __name__ == '__main__':
access_token = get_access_token() # 獲取access token
file_path = '7.jpg' # 影象路徑
face_list = img_info['result']['face_list']
face_num = img_info['result']['face_num']
data =
for i in range(face_num):
data = data + face_list[i]['landmark72'] # 獲取特徵點
img_draw(file_path, data) # 繪製影象
人臉檢測實現
使用的是谷歌人臉識別系統facenet裡面的mtcnn人臉檢測部分,這部分可用於人臉檢測和人臉對齊,輸出160 160大小的影象 解壓後放在tensorflow的資料夾下 開啟requirements.txt,我們可以看到我們需要安裝以下依賴 tensorflow 1.7 scipy scikit ...
人臉檢測python
我用的是python27。opencv340.匯入opencv庫 import cv2 載入opencv自帶的分類器 face patterns cv2.cascadeclassifier e opencv build etc haarcascades haarcascade frontalface...
python 人臉檢測
pip install opencv python 匯入cv模組 import cv2 def face detector 人臉識別 cap cv2.videocapture 0 告訴opencv使用人臉識別分類器 classfier cv2.cascadeclassifier haarcascad...