前期准备
账号准备
- 要使用华为云 Java SDK,您需要拥有华为云账号以及该账号对应的 Access Key(AK)和 Secret Access Key(SK)。请在华为云控制台“我的凭证-访问密钥”页面上创建和查看您的 AKSK。更多信息请查看访问密钥。
- 华为云 Java SDK 支持 Java JDK 1.8 及其以上版本。
开通服务
图像识别服务申请开通您可以按照以下步骤进行操作:
1.登录华为云,申请华为云账号,并完成实名认证
2.在华为云页面顶部选择“EI企业智能>AI服务>图像识别 Image”。
3.进入产品页,单击立即使用,输入您注册的用户名密码,进入图像识别管理控制台。
4.用户可以在图像识别管理控制台“服务列表”或“服务管理”页面申请开通服务。
以在“服务管理”页面开通“图像识别-图像标签”服务为例,在“商用服务”栏中选择“图像标签”,单击“开通服务”开通。
>说明:服务只需要开通一次即可,后面使用时无需再申请
5.商用服务申请成功后,在“服务管理”页面,“我的服务”中显示已经申请开通成功的服务,此时,您可以通过调用API接口的方式使用图像识别服务。
环境配置
需要具备jdk环境
SDK 获取和安装
运行结果
Copied!
[main] INFO HuaweiCloud-SDK-Access - "POST https://image.cn-north-4.myhuaweicloud.com/v1.0/image/celebrity-recognition" 200 125 e4b023aeea93393afe9dd9d78c09630c
[class CelebrityRecognitionResultBody {
confidence: 0.9897535374803481
faceDetail: {w=365, h=514, x=260, y=198}
label: 迈克尔·杰克逊
}]
名人识别示例
版本说明
本示例基于华为云SDK V3.0版本开发。
前期准备
账号准备
开通服务
图像识别服务申请开通您可以按照以下步骤进行操作:
1.登录华为云,申请华为云账号,并完成实名认证
2.在华为云页面顶部选择“EI企业智能>AI服务>图像识别 Image”。
3.进入产品页,单击立即使用,输入您注册的用户名密码,进入图像识别管理控制台。
4.用户可以在图像识别管理控制台“服务列表”或“服务管理”页面申请开通服务。 以在“服务管理”页面开通“图像识别-图像标签”服务为例,在“商用服务”栏中选择“图像标签”,单击“开通服务”开通。
>说明:服务只需要开通一次即可,后面使用时无需再申请
5.商用服务申请成功后,在“服务管理”页面,“我的服务”中显示已经申请开通成功的服务,此时,您可以通过调用API接口的方式使用图像识别服务。
环境配置
需要具备jdk环境
SDK 获取和安装
通过 Maven 安装依赖
<dependencies> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-core</artifactId> <version>3.0.7-beta</version> </dependency> <dependency> <groupId>com.huaweicloud.sdk</groupId> <artifactId>huaweicloud-sdk-image</artifactId> <version>3.0.7-beta</version> </dependency> </dependencies>
代码示例
在 com.huawei.codelabs.image.ImageTagging.java文件中配置用户AK/SK。示例代码如下:
说明:
ak
华为云账号 Access Key 。sk
华为云账号 Secret Access Key 。具体请参考访问密钥projectId
云服务所在项目 ID 。具体请参考API凭证初始化客户端
ImageClient client = ImageClient.newBuilder() .withCredential(credential) .withHttpConfig(config) .withEndpoint(endpoint) .build();
说明:
endpoint
华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点。选择一张明星或者网络红人的人像图片(url或者本地图片)
// url形式 CelebrityRecognitionReq image = new CelebrityRecognitionReq(); image.setUrl(url); // base64形式 byte[] fileData = FileUtils.readFileToByteArray(new File("./resource/celebrity-recognition.jpg")); String fileBase64Str = Base64.encodeBase64String(fileData); CelebrityRecognitionReq image = new CelebrityRecognitionReq(); image.setImage(fileBase64Str);
说明:
构建发送请求
RunCelebrityRecognitionRequest req = new RunCelebrityRecognitionRequest(); req.setBody(image);
client.runCelebrityRecognition(req);
运行结果