本文介绍了如何使用Go SDK,对指定的图片进行相似图检索。
功能描述
相似图检索帮助您从图库中检索出与给定的图片相似的若干张图片。关于参数的详细说明,请参见相似图检索API文档。
您需要使用内容安全的API接入地址,调用本SDK接口。关于API接入地址的信息,请参见接入地址(Endpoint)。
前提条件
提交相似图检索任务
package main
import (
"encoding/json"
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/green"
"strconv"
)
func main() {
// 请替换成您的AccessKey ID、AccessKey Secret。
client, err := green.NewClientWithAccessKey("cn-shanghai", "您的AccessKey ID", "您的AccessKey Secret")
if err != nil {
fmt.Println(err.Error())
return
}
task1 := map[string]interface{}{
"dataId": "检测数据ID",
"url": "待检测图片链接",
"similarityLibraries": [...]string{"相似图样本图库名称"},
}
/**
* 设置要检测的场景,计费是按照该处传递的场景进行。
* similarity: similarity表示进行相似图检索。
*/
content, _ := json.Marshal(
map[string]interface{}{
"tasks": task1, "scenes": [...]string{"similarity"},
},
)
request := green.CreateImageSyncScanRequest()
request.SetContent(content)
response, _err := client.ImageSyncScan(request)
if _err != nil {
fmt.Println(_err.Error())
return
}
if response.GetHttpStatus() != 200 {
fmt.Println("response not success. status:" + strconv.Itoa(response.GetHttpStatus()))
}
fmt.Println(response.GetHttpContentString())
}