更新时间:2023-11-21 GMT+08:00

搜索图片示例

本章节对搜索图片AK/SK方式使用SDK进行示例说明。

搜索图片示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化SearchPictureReq的Path配置图片的URL,配置完成后运行即可。

  1. 搜索图片调用示例代码如下:
    package main 
     
    import (
        "fmt"
        "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
         imagesearch "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/imagesearch/v1"
        "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/imagesearch/v1/model"
         region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/imagesearch/v1/region"
    )
     
    func main() {
       // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
       // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
       ak := os.Getenv("HUAWEICLOUD_SDK_AK")
       sk := os.Getenv("HUAWEICLOUD_SDK_SK")
     
        auth := basic.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
        //设置请求客户端,示例中region为北京四
        client := imagesearch.NewImageSearchClient(
            imagesearch.ImagesearchClientBuilder().
                WithRegion(region.ValueOf("cn-north-4")).
                WithCredential(auth).
                Build())
     
        request := &model.RunSearchPictureRequest{
            InstanceName: "instance-name",
        }
        //示例中通过图片URL搜索相似图片
        path := "https://bucketname.obs.cn-north-4.myhuaweicloud.com/imagesearch/test.jpg"
        request.Body = &model.SearchPictureReq{
            Path: &path,
        }
        response, err := client.RunSearchPicture(request)
        if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
  2. 执行示例代码文件,控制台输出搜索图片结果即表示程序执行成功。搜索图片结果输出到控制台。
    RunSearchPictureResponse {"count":1,"result":[{"path":"https://bucketname.obs.cn-north-4.myhuaweicloud.com/imagesearch/test.jpg","sim":1,"tags":{}}]}