图像检索

最近更新时间:2025-06-17 20:13:53

我的收藏

简介

本文档提供关于图像检索的相关 API 概览以及 SDK 示例代码。
API
操作描述
图像检索。

功能说明

可通过输入自然语言或图片,基于语义对数据集内文件进行图像检索。

示例代码

from qcloud_cos import CosConfig
from qcloud_cos import MetaInsightClient
import os
import sys

# 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_id = os.environ["SECRETID"]
# 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = os.environ["SECRETKEY"]
# 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
region = ('ap-beijing')
# COS 支持的所有 region 列表参见 https://www.qcloud.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048
# 用户 appid 请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
appid = '1250000000'

config = CosConfig(Appid=appid, Region=region, SecretId=secret_id,
SecretKey=secret_key,
Token=token) # 获取配置对象
client = MetaInsightClient(config)

def ci_search_image():
# 图像检索
body = {
# 数据集名称,同一个账户下唯一。
# 是否必传:是
'DatasetName': "ImageSearch001",
# 指定检索方式为图片或文本,pic 为图片检索,text 为文本检索,默认为 pic。
# 是否必传:否
'Mode': "pic",
# 资源标识字段,表示需要建立索引的文件地址(Mode 为 pic 时必选)。
# 是否必传:否
'URI': "cos://facesearch-1258726280/huge_base.jpg",
# 返回相关图片的数量,默认值为10,最大值为100。
# 是否必传:否
'Limit': 10,
# 出参 Score(相关图片匹配得分) 中,只有超过 MatchThreshold 值的结果才会返回。默认值为0,推荐值为80。
# 是否必传:否
'MatchThreshold': 1,
}
response, data = client.ci_search_image(
Body=body,
ContentType="application/json"
)
print(response)
print(data)
return response, data

参数说明

调用 ci_search_image 函数,具体请求参数如下:
参数名称
参数描述
类型
是否必填
Body
图像检索请求参数
Container
Body 节点内容:
参数名称
参数描述
类型
是否必填
DatasetName
数据集名称,同一个账户下唯一。
String
Mode
指定检索的输入类型,有效值为:
pic:表示输入图片进行以图搜图的检索。
text:表示输入文本进行检索,支持输入自然语言,例如“包含一颗大树的图片”。
默认值为 pic。
String
URI
资源标识字段,表示需要建立索引的文件地址(Mode 为 pic 时必选)。
String
Limit
返回相关图片的数量,默认值为10,最大值为100。
Integer
Text
检索语句,检索方式为 text 时必填,最多支持60个字符 (Mode 为 text 时必选)。
String
MatchThreshold
限制返回图片的最低相关度分数,只有超过 MatchThreshold 值的图片才会返回。默认值为0,推荐值为80。
例如:设置 MatchThreshold 的值为80,则检索结果中仅会返回相关度分数大于等于80分的图片。
Integer

返回结果说明

response 为响应头,data 为响应结果,数据类型都为 dict。

response 内容

返回公共响应头部,详情请参见 公共响应头部 文档。

响应体 data

响应体具体数据内容如下:
参数名称
参数描述
类型
ImageResult
图像检索识别结果信息列表。
Container Array
RequestId
请求 ID。
String
ImageResult 节点内容:
参数名称
参数描述
类型
URI
资源标识字段,表示需要建立索引的文件地址。
String
Score
图片相关度分数,分数越高表示与检索条件越相符。
Integer