程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python】人臉檢測與屬性分析-檢測人臉並框出來

編輯:Python

1、檢測圖片是否有人臉,有的話打印人臉范圍區域

# encoding:utf-8
import base64
import json
import requests
'''
獲取access_token函數
'''
def get_access_token(client_id="3bbdU8i9o7bMg4Wg0KSbNamr", client_secret="GvesuaedzQucRZdvgf9FikS57yc00xMd"):
# client_id 為官網獲取的AK, client_secret 為官網獲取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=3bbdU8i9o7bMg4Wg0KSbNamr&client_secret=GvesuaedzQucRZdvgf9FikS57yc00xMd'
print(host)
response = requests.get(host)
if response:
print(response.json(), type(response.json()))
# 訪問服務器所給的令牌口令
print(response.json()["access_token"])
return response.json()["access_token"]
'''
人臉檢測與屬性分析
'''
# 請求的網址
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect"
# 圖片處理的方式
img_file = open("lyf.jpg", "rb")
img_base64 = base64.b64encode(img_file.read())
# print(img_base64,type(img_base64))
# 請求參數
params = {
"image": str(img_base64,'utf-8'), # 強轉str序列化,記得加編碼格式
"image_type": "BASE64",
"max_face_num": 2
}
params = json.dumps(params)
access_token = get_access_token()
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/json'}
response = requests.post(request_url, data=params, headers=headers)
if response:
# print(response.json())
result=response.json()['result']
# 如果result存在,表示有人臉
if result:
# 拿到人臉區域范圍
print(result['face_list'][0]['location'])
left=result['face_list'][0]['location']['left']
top = result['face_list'][0]['location']['top']
width = result['face_list'][0]['location']['width']
height = result['face_list'][0]['location']['height']
print(left,top,width,height)

 2、利用opencv框出人臉區域

# 框出人臉范圍
img_mat=cv2.imread("lyf.jpg")#讀取圖片
cv2.rectangle(img_mat,(left,top),(left+width,top+height),(0,0,255),2)
cv2.imshow("img_lyf",img_mat)
cv2.waitKey(0)
cv2.destroyAllWindows()

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved