本文介绍了如何使用Python SDK,将指定的相似图图片添加到对应图库。
功能描述
添加相似图样本时,您可以为图片设置标签。如果样本图片在检索时被命中,其标签信息也会被返回。关于参数的详细说明,请参见增加样本图片API文档。
您需要使用内容安全的API接入地址,调用本SDK接口。关于API接入地址的信息,请参见接入地址(Endpoint)。
前提条件
安装Python依赖。关于安装Python依赖的具体操作,请参见安装Python依赖。
说明请一定按照安装Python依赖页面中的版本安装,否则会导致调用失败。
下载并在项目工程中引入Extension.Uploader工具类。
传入URL示例代码
# coding=utf-8
# 以下示例以 Python 3.x 为例,Python 2.x 类似
import json
import uuid
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import AddSimilarityImageRequest
# 注意:此处实例化的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 = AddSimilarityImageRequest.AddSimilarityImageRequest()
request.set_accept_format('JSON')
task = {
"dataId": str(uuid.uuid1()),
"url": "https://example.com/test1.jpg",
"tag": ["自定义标签1", "自定义标签2", "自定义标签3"]
}
request.set_content(json.dumps({"tasks": [task]}))
response = clt.do_action_with_exception(request)
print(response)
传入本地文件示例代码
# coding=utf-8
# 以下示例以 Python 3.x 为例,Python 2.x 类似
import json
import uuid
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import AddSimilarityImageRequest
from aliyunsdkgreenextension.request.extension import ClientUploader
# 注意:此处实例化的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 = AddSimilarityImageRequest.AddSimilarityImageRequest()
request.set_accept_format('JSON')
clientUploader = ClientUploader.getImageClientUploader(clt)
url = clientUploader.uploadFile("/Users/Documents/tmp.jpg")
task = {
"dataId": str(uuid.uuid1()),
"url": url,
"tag": ["自定义标签1", "自定义标签2", "自定义标签3"]
}
request.set_content(json.dumps({"tasks": [task]}))
response = clt.do_action_with_exception(request)
print(response)
文档内容是否对您有帮助?