【Python】调用百度云API人脸检测 Face Detect
生活随笔
收集整理的這篇文章主要介紹了
【Python】调用百度云API人脸检测 Face Detect
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# encoding:utf-8
# !/usr/local/bin/python3# 百度云:駕駛行為分析
# 應用名稱:駕駛行為分析測試import urllib3
from urllib.parse import urlencode
import urllib
import urllib.request
import sys
import ssl
import base64
import json'''
# 調用API前必須獲取Access Token
# client_id 為官網獲取的AK, client_secret 為官網獲取的SK
# access_token: 要獲取的Access Token;
# expires_in: Access Token的有效期(秒為單位,一般為1個月);
'''
AppId = 16902753
ApiKey = 'rrRIfsvmI28bPFsRsSf0rrvH'
SecretKey = 'TNMr27ErnzIHt2n4TlSZPuVG7xFZkSNS'
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + \ApiKey+'&client_secret='+SecretKey
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
content = response.read()
if (content):#print(content) # 打印獲取到的信息# 通過decode將bytes字節串轉換為字符串strcontent = content.decode('utf-8')contentDict = json.loads(content) # 借助json函數將str轉換為dictrefresh_token = contentDict["refresh_token"] # 直接讀取dict字典內需要的數據expires_in = contentDict["expires_in"]session_key = contentDict["session_key"]access_token = contentDict["access_token"]scope = contentDict["scope"]session_secret = contentDict["session_secret"]#print(access_token)'''
人臉檢測與屬性分析
'''
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect" # 人臉檢測
#imagePath = '/Users/zhaojichao/Desktop/face.jpeg'
#imagePath = '/Users/zhaojichao/Downloads/mmexport1565091537318.jpg' # 測試100002
imagePath = '/Users/zhaojichao/Documents/證件照/IMG_4354電子版1寸.jpg'
f = open(imagePath, 'rb')
# img為bytes類型
img = base64.b64encode(f.read())
# img為str類型
img = img.decode('utf-8')
'''face_field 否 string 包括age, beauty, expression, face_shape, gender, glasses, landmark, landmark150, race, quality, eye_status, emotion, face_type信息
逗號分隔. 默認只返回face_token、人臉框、概率和旋轉角度'''
params = {"image": img,"image_type": "BASE64","face_field": "faceshape,facetype,age,beauty,gender"}
# 對base64數據進行urlencode處理編碼之后格式為str
params = urllib.parse.urlencode(params)
# str轉為可以提交的bytes
params = params.encode('utf-8')
access_token = access_token
request_url = request_url + "?access_token=" + access_token
request = urllib.request.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/json')
response = urllib.request.urlopen(request)
content = response.read()
if content:# 返回數據為bytes,需要轉換為strcontent = content.decode('utf-8')print(content)
總結
以上是生活随笔為你收集整理的【Python】调用百度云API人脸检测 Face Detect的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】调用百度云API人脸搜索
- 下一篇: 【Python】调用百度云API文字识别