图像识别 IMAGE-名人识别示例

时间:2024-12-05 11:24:30

名人识别示例

本章节对名人识别AK/SK方式使用SDK进行示例说明。

  • 名人识别示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化CelebrityRecognitionReq中的Image或Url配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。
  • endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点
  1. 名人识别调用示例代码如下:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    package main
    
    import (
        "fmt"
        "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
        image "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2"
        "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/image/v2/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()
    
        client := image.NewImageClient(
            image.ImageClientBuilder().
                WithRegion(region.ValueOf("cn-north-1")).  //此处替换为您开通服务的区域
                WithCredential(auth).
                Build())
    
        request := &model.RunCelebrityRecognitionRequest{}
        thresholdCelebrityRecognitionReq:= float32(0.48)
        urlCelebrityRecognitionReq:= "https://XXX.jpg"  //此处替换为公网可以访问的图片地址
        request.Body = &model.CelebrityRecognitionReq{
            Threshold: &thresholdCelebrityRecognitionReq,
            Url: &urlCelebrityRecognitionReq,
        }
        response, err := client.RunCelebrityRecognition(request)
        if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    
  2. 识别结果输出到控制台表示执行成功。相关参数说明请参考名人识别API
    1
    2
    RunCelebrityRecognitionResponse {"result":[{"confidence":0.9990679,"face_detail":{"h":510,"w":357,"x":260,"y":201},"label":"迈克尔·杰克逊"}]}
    Process exiting with code: 0
    
support.huaweicloud.com/sdkreference-image/image_04_0026.html