以图搜图包含:建库、删库、入库、检索、删除 5个子接口;
以图搜图—建库
图片分类目管理,针对不同的分类,调用接口建库
请求示例
HTTP 方法:POST
请求URL: http://0.0.0.0:8000/create_database
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
tags | 是 | string | 1 – 65535范围内的整数 | tag只有1个,样例:”11″ ;检索时可圈定分类维度进行检索 |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
code | 是 | uint64 | 10000:成功,10001:失败 |
msg | 是 | string | 成功或失败的信息 |
以图搜图—删库
图片分类目管理,针对不同的分类,调用接口删库
请求示例
HTTP 方法:POST
请求URL: http://0.0.0.0:8000/delete_database
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
tags | 是 | string | 1 – 65535范围内的整数 | tag只有1个,样例:”11″ ;检索时可圈定分类维度进行检索 |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
code | 是 | uint64 | 10000:成功,10001:失败 |
msg | 是 | string | 成功或失败的信息 |
以图搜图—入库
请求说明
该接口实现单张图片入库,入库时需要同步提交图片及可关联至本地图库的摘要信息(具体变量为brief,具体可传入图片在本地标记id、图片url、图片名称等);同时可提交分类维度信息(具体变量为tags,只能传入1个tag),方便对图库中的图片进行管理、分类检索。 注:重复添加完全相同的图片会返回错误。
请求图片需经过base64编码
:图片的base64编码指将一幅图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。
注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)
请求示例
HTTP 方法:POST
请求URL: http://0.0.0.0:8000/add
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | string | – | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。注意要去掉图片头部**,如(data:image/jpg;base64,) ,最短边至少50px,最长边最大4096px,支持jpg/png/bmp格式。重复添加完全相同的图片会返回错误,提示不能重复入库。 |
brief | 是 | string | – | 检索时原样带回,最长256B。样例:{“name”:”周杰伦”, “id”:”666″} 。请注意,检索接口不返回原图,仅返回入库时填写的brief信息,所以调用该入库接口时,brief信息请尽量填写可关联至本地图库的图片id或者图片url、图片名称等信息,且不要重复 |
tags | 是 | string | 1 – 65535范围内的整数 | 检索时可圈定分类维度进行检索 |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
code | 是 | uint64 | 10000:成功,10001:失败,10002:图片重复 |
msg | 是 | string | 输出信息 |
以图搜图—检索
完成入库后,可使用该接口实现相似图检索。支持传入指定分类维度(具体变量tags)进行检索
注意: 1、检索接口不返回原图,仅反馈入库时填写的brief信息,请调用入库接口时尽量填写可关联至本地图库的图片id或者图片url等信息。
2、检索接口默认返回TOP 100的结果,如果图库里不满100张图片,会返回所有图片,请入库足量图片以便充分测试效果。
3、原则上任何2张图片都有相似度,只不过分值有高低,应用时可结合接口返回的相关性分数score(取值范围0-1,越接近1代表相似度越高)进行筛选,如选取score大于某个值的结果进行应用。
请求图片需经过base64编码
:图片的base64编码指将一幅图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。
注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)
请求示例
HTTP 方法:POST
请求URL: http://0.0.0.0:8000/search
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 是 | string | – | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。注意要去掉图片头部,如(data:image/jpg;base64,) ,最短边至少50px,最长边最大4096px,支持jpg/png/bmp格式. |
tags | 是 | string | 1 – 65535范围内的整数 | 分类维度信息 |
topK | 是 | string | 1 – 1000范围内的整数 | 截取条数,例:250 |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
log_id | 是 | uint64 | 唯一的log id,用于问题定位 |
code | 是 | uint64 | 10000:成功,10001:失败 |
msg | 是 | string | 输出信息 |
result | 是 | object[] | 结果数组 |
+cont_sign | 是 | string | 图片签名,可以用来删除图片或定位问题 |
+score | 是 | float | 图片相关性,取值范围0-1,越接近1代表越相似 |
+brief | 是 | string | add时添加的brief信息 |
以图搜图—删除
删除图库中的图片,支持批量删除,批量删除时请传cont_sign参数,勿传image,最多支持100个cont_sign
图片删除延时生效,每天数据库定时更新进行物理删除,刚删除时仍然可以在图库中检索到(但图库管理后台是同步清除),请过一段时间再验证,一般最多延时4小时左右。
请求图片需经过base64编码
:图片的base64编码指将一幅图片数据编码成一串字符串,使用该字符串代替图像地址。您可以首先得到图片的二进制,然后用Base64格式编码即可。
注意:图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)
请求示例
HTTP 方法:POST
请求URL: http://0.0.0.0:8000/delete
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
cont_sign | 是 | string | – | 图片签名,支持批量删除,最多支持100个cont_sign列表,样例:”932301884,1068006219,316336521,553141152,2491030726,1352091083″ |
返回参数
字段 | 是否必选 | 类型 | 说明 |
---|---|---|---|
msg | 是 | string | 输出信息 |
code | 是 | uint64 | 10000:成功,10001:失败 |