本文介绍如何使用Go SDK人脸比对接口,对指定的人脸图片进行比对,检测不同人脸图片的相似度。
功能描述
人脸比对支持同步检测和异步检测两种方式。
前提条件
提交人脸比对任务
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
}
// 设置待比对人脸图片链接地址2。
extras := map[string]interface{}{"faceUrl": "待比对人脸图片链接地址2"}
// 设置待比对人脸图片链接地址1。
task1 := map[string]interface{}{"dataId": "dataIdxxx", "url": "待比对人脸图片链接地址1", "extras": extras}
// scenes:检测场景,指定图片检测的应用场景,取值:sface-1。
content, _ := json.Marshal(
map[string]interface{}{
"tasks": task1, "scenes": [...]string{"sface-1"}, "bizType": "业务场景",
},
)
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())
}