搜索图片
功能介绍
从图片索引库中搜索相似图片。
URI
POST /v1/{project_id}/{instance_name}/image/search
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
instance_name |
是 |
String |
实例名称。 |
project_id |
是 |
String |
用户的项目ID。获取方法请参见获取项目ID和名称。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
file |
否 |
String |
图片文件Base64编码字符串,仅支持JPEG/JPG/PNG/BMP格式,图片最小边不小于100px,最大边不超过2048px。该参数与path二选一,如果两个参数都存在,则以file为主。 |
path |
否 |
String |
图片的URL路径,图片库中的图片索引ID。该参数与file二选一,如果两个参数都存在,则以file为主。 |
limit |
否 |
Integer |
返回被检索图像的数量,取值为1~100的整数,默认为10。 最小值:1 最大值:100 缺省值:10 |
offset |
否 |
Integer |
偏移量,指定搜索结果返回起始位置,取值为大于或等于0的整数,默认为0。 最小值:0 |
tags |
否 |
Object |
图片自定义标签,最多不超过10个,格式为key:value对。 标签名(key)添加方式:
|
is_crop |
否 |
Boolean |
是否用图片中指定区域(参数box)进行搜索。该参数目前仅对某些特定模型有效,其他模型暂不支持目标检测。 取值为true或false。
默认为false。 |
box |
否 |
SearchBoxDetail object |
图片中指定的区域。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
count |
Integer |
搜索结果总数。 |
result |
Array of SearchPictureItem objects |
搜索结果详情。 |
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
被搜索图片的路径。 |
sim |
Float |
查询图片和被搜索图片的相似度,值越接近1表示越相似。 |
tags |
Object |
自定义的标签名称和标签内容。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 |
error_msg |
String |
调用失败时的错误信息。 调用成功时无此字段。 |
请求示例
- 方式一:使用图片的BASE64编码,从图片索引库中搜索相似图片,返回被检索图像的数量为10。
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "file" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA..." }
- 方式二:使用图片的url,从图片索引库中搜索相似图片,返回被检索图像的数量为10。
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "path" : "https://BucketName.obs.myhuaweicloud.com/image/test1.jpg" }
- 方式三:使用标签,从图片索引库中搜索相似图片,返回被检索图像的数量为10
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "tags" : { "test-tags" : "test-image" } }
- 方式四:使用图片的BASE64编码和标签,从图片索引库中搜索相似图片,返回被检索图像的数量为10。
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "file" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...", "tags" : { "test-tags" : "test-image" } }
- 方式五:使用图片URL和标签,从图片索引库中搜索相似图片,返回被检索图像的数量为10。
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "path" : "https://BucketName.obs.myhuaweicloud.com/image/test1.jpg", "tags" : { "test-tags" : "test-image" } }
- 方式六:使用指定区域进行搜索,从图片索引库中搜索相似图片,返回被检索图像的数量为10。
POST https://{endpoint}/v1/{project_id}/{instance_name}/image/search { "limit" : 10, "offset" : 0, "path" : "https://BucketName.obs.myhuaweicloud.com/image/test1.jpg", "box" : { "x" : 100, "y" : 200, "height" : 50, "width" : 20 } }
响应示例
状态码: 200
成功响应示例
{ "count" : 2, "result" : [ { "path" : "https://BucketName.obs.myhuaweicloud.com/CBL025106G/CBL025106G_2.JPG", "sim" : 0.51263, "tags" : { "test-tags" : "test-image" } } ] }
状态码: 400
失败响应示例
{ "error_code" : "IS.0003", "error_msg" : "Arguments of path can not be null." }
状态码
状态码 |
描述 |
---|---|
200 |
成功响应示例。 |
400 |
失败响应示例。 |
错误码
请参见错误码。