本文介绍了如何使用Go SDK,将指定的相似图图片添加到对应图库。

功能描述

添加相似图样本时,您可以为图片设置标签。如果样本图片在检索时被命中,其标签信息也会被返回。关于参数的详细说明,请参见增加样本图片API文档

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

前提条件

已安装Go依赖。关于安装Go依赖的具体操作,请参见安装Go依赖
说明 请一定按照安装Go依赖页面中的版本安装,否则会导致调用失败。

增加相似图样本任务

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
   }

   task := map[string]interface{}{
      "dataId": "检测数据ID",
      "url":    "样本图片链接",
      "tag":    [...]string{"自定义标签1", "自定义标签2", "自定义标签3"},
   }
   content, _ := json.Marshal(
      map[string]interface{}{
         "library": "相似图样本图库名称", "tasks": [...]map[string]interface{}{task},
      },
   )

   request := green.CreateAddSimilarityImageRequest()
   request.SetContent(content)
   response, _err := client.AddSimilarityImage(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())
}