【人脸识别】V3版之PythonAPI+SDK示例代码
本文使用Python语言 通过API形式调用 并没有直接引用最新版的SDK
直接开始代码。仅供参考如有问题评论区说明,前提自己已经看过文档
先自己稍微看一下文档。示例代码不是说完全复制粘贴就能用。要改自己的参数。
也要看着文档改成自己所需要的方式进行代码编辑。
------------------------------------------------------------------
人脸检测示例代码API
'''
Created on 2018-5-17
人脸检测-Python3 -API示例代码
@author: 完全不会Python的小帅丶
'''
import urllib3,base64
from urllib.parse import urlencode
access_token='自己应用获取的AccessToken'
http=urllib3.PoolManager()
url='https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token='+access_token
f = open('G:/test2.jpg','rb')
#参数image:图像base64编码 以及face_fields参数
#image的值取决于 image_type
img = base64.b64encode(f.read())
##params 把三种值请求都给出了 测试请自己选择是用BASE64 FACE_TOKEN URL哪个。剩下的2个params注释掉 一定要自己看看文档 URL给的那个图片网络地址只是示例并不是一个真正可以访问的图片网络地址
params={'image':''+str(img,'utf-8')+'','image_type':'BASE64','face_field':'age,beauty,faceshape,gender,glasses'}
params={'image':'f7ec8ecd441886371b9749d1fc853f44','image_type':'FACE_TOKEN','face_field':'age,beauty,faceshape,gender,glasses'}
params={'image':'https://www.xsshome.cn/face.jpg','image_type':'URL','face_field':'age,beauty,faceshape,gender,glasses'}
#对base64数据进行urlencode处理
params=urlencode(params)
request=http.request('POST',
url,
body=params,
headers={'Content-Type':'application/json'})
#对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换
result = str(request.data,'utf-8')
print(result)
人脸检测示例代码SDK
from aip import AipFace
import base64
APP_ID = 'APPID'
API_KEY = 'APIKEY'
SECRET_KEY = 'SECRETKEY'
client = AipFace(APP_ID,API_KEY,SECRET_KEY)
f = open('G:/face.jpg','rb')
image = base64.b64encode(f.read())
image64 = str(image,'utf-8')
print(client.detect(image64, "BASE64", None))
------------------------------------------------------------------
人脸对比示例代码
'''
Created on 2018-5-17
人脸对比V3-Python3 -API示例代码
@author: 小帅丶
'''
import urllib3,base64,json
access_token='自己应用获取的AccessToken'
http=urllib3.PoolManager()
IMAGE_TYPE='BASE64'
url='https://aip.baidubce.com/rest/2.0/face/v3/match?access_token='+access_token
f1 = open('G:/test2.jpg','rb')
f2 = open('G:/test2.jpg','rb')
#参数image:图像base64编码 分别base64编码后的2张图片数据
img1 = base64.b64encode(f1.read())
img2 = base64.b64encode(f2.read())
#params = {"images":str(img1,'utf-8') + ',' + str(img2,'utf-8')}
params = [{"image":str(img1,'utf-8'),"image_type":IMAGE_TYPE},{"image":str(img2,'utf-8'),"image_type":IMAGE_TYPE}]
#参数转JSON格式
encoded_data = json.dumps(params).encode('utf-8')
request=http.request('POST',
url,
body=encoded_data,
headers={'Content-Type':'application/json'})
#对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换
result = str(request.data,'utf-8')
print(result)
------------------------------------------------------------------
先自己稍微看一下文档。示例代码不是说完全复制粘贴就能用。要改自己的参数。
也要看着文档改成自己所需要的方式进行代码编辑。