文档

相似图检索

本文介绍了如何使用Python SDK,对指定的图片进行相似图检索的示例代码。

功能描述

相似图检索帮助您从图库中检索出与给定的图片相似的若干张图片。关于参数的详细说明,请参见相似图检索API文档

您需要使用内容安全的API接入地址,调用本SDK接口。关于API接入地址的信息,请参见接入地址(Endpoint)

前提条件

传入URL示例代码

# coding=utf-8
# 以下示例以 Python 3.x 为例,Python 2.x 类似
# 以下代码用于调用图片同步检测接口并实时返回检测结果。
from aliyunsdkcore import client
from aliyunsdkgreen.request.v20180509 import ImageSyncScanRequest
import json
import uuid

# 注意:此处实例化的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")
# 每次请求时需要新建Request,请勿复用Request对象。
request = ImageSyncScanRequest.ImageSyncScanRequest()
request.set_accept_format('JSON')
task = {
    "dataId": str(uuid.uuid1()),
    "url": "https://example.com/tfs/xxx-600-600.jpg"
}

# similarity表示进行相似图检索。
request.set_content(json.dumps({"tasks": [task], "scenes": ["similarity"]}))
response = clt.do_action_with_exception(request)
print(response)

传入本地文件示例代码

# coding=utf-8
# 以下示例以 Python 3.x 为例,Python 2.x 类似
# 以下代码用于调用图片同步检测接口并实时返回检测结果。
from aliyunsdkcore import client
from aliyunsdkgreen.request.v20180509 import ImageSyncScanRequest
from aliyunsdkgreenextension.request.extension import ClientUploader
import json
import uuid

# 注意:此处实例化的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")
# 每次请求时需要新建Request,请勿复用Request对象。
request = ImageSyncScanRequest.ImageSyncScanRequest()
request.set_accept_format('JSON')

clientUploader = ClientUploader.getImageClientUploader(clt)
url = clientUploader.uploadFile("/Users/Documents/tmp.jpg")
task = {
    "dataId": str(uuid.uuid1()),
    "url": url
}

# similarity表示进行相似图检索。
request.set_content(json.dumps({"tasks": [task], "scenes": ["similarity"]}))
response = clt.do_action_with_exception(request)
print(response)
  • 本页导读 (0)
文档反馈