huaweicloud-frs-face-compare-java:华为云人脸识别服务人脸比对Java实现示例

该示例展示了如何通过SDK实现人脸比对。

分支3Tags0
文件最后提交记录最后更新时间
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前

人脸识别服务人脸比对示例(Java版本)

0.版本说明

本示例基于华为云SDK V3.0版本开发

1.简介

华为云提供了人脸识别服务端SDK,您可以直接集成服务端SDK来调用人脸识别服务的相关API,从而实现对人脸识别服务的快速操作。

该示例展示了如何通过Java版SDK实现人脸比对。

2.开发前准备

  • 注册 华为云,并完成 实名认证
  • 已订阅人脸识别服务。
  • 已具备开发环境,支持Java JDK 1.8及其以上版本。
  • 已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥
  • 已获取直播服务对应区域的项目ID,请在华为云控制台“我的凭证 > API凭证”页面上查看项目ID。具体请参见 API凭证

3.安装SDK

您可以通过Maven配置所依赖的人脸识别服务SDK

<dependency>
    <groupId>com.huaweicloud.sdk</groupId>
    <artifactId>huaweicloud-sdk-frs</artifactId>
    <version>3.1.19</version>
</dependency>

4. 开始使用

4.1 导入依赖模块

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;

//v2版本sdk
import com.huaweicloud.sdk.frs.v2.region.FrsRegion;
import com.huaweicloud.sdk.frs.v2.*;
import com.huaweicloud.sdk.frs.v2.model.*;

4.2 初始化认证信息

public static ICredential getCredential(String ak, String sk) {
    return new BasicCredentials()
            .withAk(ak)
            .withSk(sk);
}

相关参数说明如下所示:

  • ak:华为云账号Access Key。
  • sk:华为云账号Secret Access Key 。

4.3 初始化人脸识别服务的客户端

public static FrsClient getClient(Region region, ICredential auth) {
    // 初始化人脸识别服务的客户端
    return FrsClient.newBuilder()
            .withCredential(auth)
            .withRegion(region) // 选择服务所在区域 FrsRegion.CN_NORTH_4
            .build();
}

相关参数说明如下所示:

service region: 服务所在区域,例如:

  • CN_NORTH_1 北京一
  • CN_NORTH_4 北京四

5. SDK demo代码解析

5.1 人脸比对

CompareFaceByBase64Request compareRequest = new CompareFaceByBase64Request();
FaceCompareBase64Req faceCompareBase64Req = new FaceCompareBase64Req();
faceCompareBase64Req.withImage1Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
faceCompareBase64Req.withImage2Base64("/9j/4AAQSkZJRgABAQAAAQABAAD...");
compareRequest.withBody(faceCompareBase64Req);
try {
    CompareFaceByBase64Response compareResponse = client.compareFaceByBase64(compareRequest);
    System.out.println(compareResponse.toString());
} catch (ConnectionException e) {
    e.printStackTrace();
} catch (RequestTimeoutException e) {
    e.printStackTrace();
} catch (ServiceResponseException e) {
    e.printStackTrace();
    System.out.println(e.getHttpStatusCode());
    System.out.println(e.getErrorCode());
    System.out.println(e.getErrorMsg());
}

6.参考

更多信息请参考人脸识别服务

7.修订记录

发布日期 文档版本 修订说明
2023-03-08 1.0 文档首次发布

项目介绍

该示例展示了如何通过SDK实现人脸比对。

定制我的领域