本文介绍了如何使用Python SDK人脸属性检测接口,对指定的人脸图片进行属性检测。人脸属性检测仅支持以图片作为检测媒介。
功能描述
人脸属性检测能够识别图片中的人脸属性信息,包括人脸模糊度、人脸角度、人脸位置、微笑程度、是否戴眼镜、是否戴口罩、是否戴帽子、是否有胡子、是否有刘海、头发类型等。关于参数的详细说明,请参见人脸属性检测API文档。
您需要使用内容安全的API接入地址,调用本SDK接口。关于API接入地址的信息,请参见接入地址(Endpoint)。
前提条件
安装Python依赖。关于安装Python依赖的具体操作,请参见安装Python依赖。
说明请一定按照安装Python依赖页面中的版本安装,否则会导致调用失败。
下载并在项目工程中引入Extension.Uploader工具类。
传入URL示例代码
# coding=utf-8
# 以下代码用于调用图片异步检测接口,您需要根据接口返回的TaskID查询检测结果。
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import DetectFaceRequest
import json
# 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
# 常见获取环境变量方式:
# 获取RAM用户AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
# 获取RAM用户AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
clt = client.AcsClient("建议从环境变量中获取RAM用户AccessKey ID", "建议从环境变量中获取RAM用户AccessKey Secret", "cn-shanghai")
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
# 每次请求需要新建Request,请勿复用Request对象。
request = DetectFaceRequest.DetectFaceRequest()
request.set_accept_format('JSON')
request.set_content(json.dumps({"url": "http://example.com/xxx.jpg"}))
response = clt.do_action_with_exception(request)
print(response)
result = json.loads(response)
传入本地文件示例代码
# coding=utf-8
# 以下代码用于调用图片异步检测接口,您需要根据接口返回的TaskID查询检测结果。
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import DetectFaceRequest
from aliyunsdkgreenextension.request.extension import ClientUploader
import json
# 注意:此处实例化的client尽可能重复使用,提升检测性能。避免重复建立连接。
# 常见获取环境变量方式:
# 获取RAM用户AccessKey ID:os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
# 获取RAM用户AccessKey Secret:os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
clt = client.AcsClient("建议从环境变量中获取RAM用户AccessKey ID", "建议从环境变量中获取RAM用户AccessKey Secret", "cn-shanghai")
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
# 每次请求需要新建Request,请勿复用Request对象。
request = DetectFaceRequest.DetectFaceRequest()
request.set_accept_format('JSON')
clientUploader = ClientUploader.getImageClientUploader(clt)
url = clientUploader.uploadFile("/Users/Documents/tmp.jpg")
request.set_content(json.dumps({"url": url}))
response = clt.do_action_with_exception(request)
print(response)
result = json.loads(response)
文档内容是否对您有帮助?