华为云AI:轻松实现图像识别调用

文章目录

  • 前言
  • 一、环境配置
    • 关键步骤
  • 二、图像识别实例
    • 媒资图像标签
    • 名人识别
  • 总结


前言

基于华为云AI服务和java使用SDK实现图像识别,主要以媒资图像标签和名人识别为例。


一、环境配置

  • Maven(没有直接下载华为的SDK包,而是使用Maven安装依赖)
  • JDK19(官方的SDK包要求JDK版本必须高于JDK8版本,大家根据自己只要满足版本要求即可)
  • 开发工具:IDEA 2023.3(其他版本也可)
    • 能创建Maven项目即可
  • 开通图像识别服务(目前是免费体验):这里我开通的是图像标签/媒资图像标签和名人识别服务。
  • 设置访问密钥
  • 服务区域:我开通的服务区域是华北-北京四

关键步骤

Maven项目的创建和Java环境变量的配置我就不再赘诉,这是大家学习java早已熟练掌握的,这里只讲诉易错的。

开通图像识别服务
华为云首页就有云产品体验区(找不到就在搜索栏检索),勾选AI:
在这里插入图片描述
点击“立即体验”后,找到服务列表,开通你想要的服务(点击开通):
在这里插入图片描述
设置访问密钥
在控制台找到“我的凭证”:
在这里插入图片描述
找到“访问密钥”,如果没有就新增,新增后一定要下载密钥的CSV文件,他会有提示让你下载,防止你忘记:
在这里插入图片描述
下载完csv文件后用记事本打开即可看到AK和SK:
在这里插入图片描述
Maven引入依赖配置
版本可以自己切换

		<dependency><groupId>com.huaweicloud.sdk</groupId><artifactId>huaweicloud-sdk-image</artifactId><version>3.1.8</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.70</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.4.16</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.16.0</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.13.0</version></dependency>

二、图像识别实例

媒资图像标签

功能介绍:对用户传入的图像可以返回图像中的物体名称、所属类别及置信度信息。

使用图片是网上的,仅作学习使用:
在这里插入图片描述

代码如下:

/*** @Version: 1.0.0* @Author: Dragon_王* @ClassName: RunImageMediaTaggingSolution* @Description: 媒资图像标签* @Date: 2024/1/8 11:51*//*** 此demo仅供测试使用,强烈建议使用SDK* 使用前需配置依赖jar包。jar包可通过下载SDK获取*/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;
import com.huaweicloud.sdk.image.v2.region.ImageRegion;
import com.huaweicloud.sdk.image.v2.*;
import com.huaweicloud.sdk.image.v2.model.*;public class RunImageMediaTaggingSolution {public static void main(String[] args) {//此处需要输入您的AK/SK信息String ak = "你的AK";String sk = "你的SK";ICredential auth = new BasicCredentials().withAk(ak).withSk(sk);ImageClient client = ImageClient.newBuilder().withCredential(auth).withRegion(ImageRegion.valueOf("cn-north-4"))  //此处替换为您开通服务的区域.build();RunImageMediaTaggingRequest request = new RunImageMediaTaggingRequest();ImageMediaTaggingReq body = new ImageMediaTaggingReq();body.withThreshold(10f);body.withLanguage("zh");body.withUrl("https://tse2-mm.cn.bing.net/th/id/OIP-C.SIuEnb1-arhtDNqfdICVqAHaE7?rs=1&pid=ImgDetMain");  //此处替换为公网可以访问的图片地址request.withBody(body);try {RunImageMediaTaggingResponse response = client.runImageMediaTagging(request);System.out.println(response.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());}}
}

运行结果:
在这里插入图片描述

class RunImageMediaTaggingResponse {result: class ImageMediaTaggingResponseResult {tags: [class ImageMediaTaggingItemBody {confidence: 83.63type: 动物tag: 金毛犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 金毛犬en: Golden retriever}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 81.78type: 动物tag: 金毛i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 金毛en: Golden hair}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 77.00type: 动物tag: 金毛寻猎犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 金毛寻猎犬en: Golden Retriever}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 62.60type: 动物tag: 贵妇犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 贵妇犬en: Poodle}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 59.02type: 生活tag: 狗链i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 狗链en: Dog chain}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 生活en: Life}instances: []}, class ImageMediaTaggingItemBody {confidence: 53.84type: 动物tag: 宠物狗i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 宠物狗en: Pet dog}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 48.01type: 动物tag: 狗狗i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 狗狗en: Dog}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 44.02type: 动物tag: 犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 犬en: Dog}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 42.11type: 动物tag: 纯种犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 纯种犬en: Purebred dog}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}, class ImageMediaTaggingItemBody {confidence: 38.65type: 动物tag: 中华田园犬i18nTag: class ImageMediaTaggingItemBodyI18nTag {zh: 中华田园犬en: Chinese pastoral dog}i18nType: class ImageMediaTaggingItemBodyI18nType {zh: 动物en: Animal}instances: []}]}
}Process finished with exit code 0

名人识别

功能介绍:分析并识别图片中包含的敏感人物、明星及网红人物,返回人物信息及人脸坐标。

使用照片是网上的照片,仅作学习使用:
在这里插入图片描述

代码如下:

/*** @Version: 1.0.0* @Author: Dragon_王* @ClassName: RunCelebrityRecognitionSolution* @Description: 媒资标签* @Date: 2024/1/9 16:23*/import com.alibaba.fastjson.JSON;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;
import com.huaweicloud.sdk.image.v2.ImageClient;
import com.huaweicloud.sdk.image.v2.model.RunCelebrityRecognitionRequest;
import com.huaweicloud.sdk.image.v2.region.ImageRegion;
import com.huaweicloud.sdk.image.v2.model.CelebrityRecognitionReq;
import com.huaweicloud.sdk.image.v2.model.RunCelebrityRecognitionResponse;public class RunCelebrityRecognitionSolution {public static void main(String[] args) {// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全// 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SKString ak = "你的AK";String sk = "你的SK";ICredential auth = new BasicCredentials().withAk(ak).withSk(sk);ImageClient client = ImageClient.newBuilder().withCredential(auth).withRegion(ImageRegion.valueOf("cn-north-4"))  //此处替换为您开通服务的区域.build();RunCelebrityRecognitionRequest request = new RunCelebrityRecognitionRequest();CelebrityRecognitionReq body = new CelebrityRecognitionReq();body.withThreshold(0f);body.withUrl("https://tse1-mm.cn.bing.net/th/id/OIP-C.tM6jifW1xaCDP7Kia9QiYwHaKD?rs=1&pid=ImgDetMain");   //此处替换为公网可以访问的图片地址request.withBody(body);try {RunCelebrityRecognitionResponse response = client.runCelebrityRecognition(request);System.out.println(response.getHttpStatusCode());System.out.println(JSON.toJSONString(response));} 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());}}
}

运行结果:

200
{"httpStatusCode":200,"result":[{"confidence":0.9985551,"faceDetail":{"w":132,"h":186,"x":197,"y":79},"label":"成龙"}]}Process finished with exit code 0

总结

以上就是华为云的AI图像识别服务调用,这里提供官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

韩语翻译是怎么收费的

近年来&#xff0c;随着中韩交流的日益密切&#xff0c;韩语翻译在国内的需求呈现出不断增长的态势。无论是韩语笔译还是口译&#xff0c;其应用领域都非常广泛。那么&#xff0c;韩语翻译的价格是否高昂&#xff1f;翻译公司又是如何进行报价的呢&#xff1f; 在翻译领域&…

C2-3.3.2 机器学习/深度学习——数据增强

C2-3.3.2 数据增强 参考链接 1、为什么要使用数据增强&#xff1f; ※总结最经典的一句话&#xff1a;希望模型学习的更稳健 当数据量不足时候&#xff1a; 人工智能三要素之一为数据&#xff0c;但获取大量数据成本高&#xff0c;但数据又是提高模型精度和泛化效果的重要因…

UCF101 数据集介绍与下载

一、介绍 UCF101 是一个现实动作视频的动作识别数据集&#xff0c;收集自YouTube&#xff0c;提供了来自101个动作类别的13320个视频。官方&#xff1a;https://www.crcv.ucf.edu/research/data-sets/ucf101/ 数据集名称&#xff1a;UCF-101&#xff08;2012&#xff09; 总视…

06、Kafka ------ 各个功能的作用解释(ISR 同步副本、非同步副本、自动创建主题、修改主题、删除主题)

目录 CMAK 各个功能的作用解释★ ISR副本 (同步副本&#xff09;★ 非同步副本★ 自动创建主题★ 修改主题★ 删除主题 CMAK 各个功能的作用解释 ★ ISR副本 (同步副本&#xff09; 简单来说 &#xff0c;ISR 副本 就是 Kafka 认为与 领导者副本 同步的副本。 ISR&#xff0…

双位置继电器DLS-5/2TH 额定电压:110VDC 触点形式:7开3闭 柜内安装

系列型号&#xff1a; DLS-5/1电磁式双位置继电器; DLS-5/2电磁式双位置继电器; DLS-5/3电磁式双位置继电器; DLS-5/2G电磁式双位置继电器; DLS-5/3 220VDC双位置继电器 一、用途 1.1用途 DLS-5双位置继电器(以下简称产品)用于各种保护与自动控制系统中&#xff0c;作为切换…

JPEG格式详解Baseline、Progressive的区别

文章目录 JPEG的简介压缩质量/压缩比率色彩空间基线和渐进子采样存储选项 基线和渐进基线格式渐进格式&#xff1a; 子采样4:4:4&#xff08;无损&#xff09;4:2:24:2:0 JPEG的简介 JPEG&#xff08;Joint Photographic Experts Group&#xff09;是一种常见的图像压缩格式&a…

SpringBoot 配置文件加载优先级

SpringBoot 配置文件加载优先级 前言SpringBoot 配置文件加载优先级 前言 最近在使用k8s部署项目的时候,发现Dockerfile文件中的命令后面跟的参数,无法覆盖nacos中的参数,今天有时间正好来整理一下Springboot配置的加载顺序 SpringBoot 配置文件加载优先级 整理加载顺序第一个肯…

电子学会C/C++编程等级考试2023年12月(一级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:数的输入和输出 输入一个整数和双精度浮点数,先将浮点数保留2位小数输出,然后输出整数。 时间限制:1000 内存限制:65536 输入 一行两个数,分别为整数N(不超过整型范围),双精度浮点数F,以一个空格分开。 输出 一行两个数,分…

蓝凌EIS智慧协同平台 ShowUserInfo.aspx SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 ShowUserInfo.aspx接口处未对用户输入的SQL语句进行过滤或验证…

Xcode15 升级问题记录

这里写自定义目录标题 新版本Xcode15升级问题1&#xff1a;rsync error: some files could not be transferred (code 23) at ...参考 新版本Xcode15升级 下载地址&#xff1a;https://developer.apple.com/download/all/ 我目前使用的版本是Xcode15.2 我新创建了一个项目&…

植物大战僵尸小游戏抖音快手直播搭建弹幕插件教程

植物大战弹幕插件功能介绍 该插件由梦歌技术部团队支持开发&#xff0c;本插件软件通过监测抖音弹幕信息&#xff0c;获取礼物数据触发脚本插件对应的功能&#xff1b; 功能目前基本上已经完善&#xff0c;后期功能会陆续上线支持更新&#xff0c;全新的脚本监测稳定方便实用…

文心一言API调用,保姆级案例分享

分享一个调用文心一言API的案例。今天自己用程序去过去文心一言模型中获取结果。 文心一言API调用如何收费&#xff1f; 官方给送了20块钱的体验券&#xff01; 后续收费规则如下 如何开通所需要要的 API key 和 Secret key&#xff1f; api调用需要先在千帆平台开通API key 。…

openGauss学习笔记-193 openGauss 数据库运维-常见故障定位案例-备机卡住-数据库只读

文章目录 openGauss学习笔记-193 openGauss 数据库运维-常见故障定位案例-备机卡住-数据库只读193.1 switchover操作时&#xff0c;主机降备卡住193.1.1 问题现象193.1.2 原因分析193.1.3 处理办法 193.2 磁盘空间达到阈值&#xff0c;数据库只读193.2.1 问题现象193.2.2 原因分…

数据结构第十二弹---堆的应用

堆的应用 1、堆排序2、TopK问题3、堆的相关习题总结 1、堆排序 要学习堆排序&#xff0c;首先要学习堆的向下调整算法&#xff0c;因为要用堆排序&#xff0c;你首先得建堆&#xff0c;而建堆需要执行多次堆的向下调整算法。 但是&#xff0c;使用向下调整算法需要满足一个前提…

面试算法110:所有路径

题目 一个有向无环图由n个节点&#xff08;标号从0到n-1&#xff0c;n≥2&#xff09;组成&#xff0c;请找出从节点0到节点n-1的所有路径。图用一个数组graph表示&#xff0c;数组的graph[i]包含所有从节点i能直接到达的节点。例如&#xff0c;输入数组graph为[[1&#xff0c…

微信小程序Canvas画布绘制图片、文字、矩形、(椭)圆、直线

获取CanvasRenderingContext2D 对象 .js onReady() {const query = wx.createSelectorQuery()query.select(#myCanvas).fields({ node: true, size: true }).exec((res) => {const canvas = res[0].nodeconst ctx = canvas.getContext(2d)canvas.width = res[0].width * d…

2024--Django平台开发-Web框架和Django基础(二)---Mysql多版本共存(Mac系统)

MySQL多版本共存&#xff08;Mac系统&#xff09; 想要在Mac系统上同时安装【MySQL5.7 】【MySQL8.0】版本&#xff0c;需要进行如下的操作和配置。 想要同时安装两个版本可以采取如下方案&#xff1a; 方案1&#xff1a;【讲解】 MySQL57&#xff0c;用安装包进行安装。 MyS…

遗传算法解决函数最大化问题的完整Python实现

遗传算法&#xff08;Genetic Algorithm&#xff0c;简称GA&#xff09;是一种模拟生物进化过程的启发式优化算法。它通过模拟自然选择、交叉和变异等基因操作&#xff0c;来搜索问题的最优解。 遗传算法的基本思想是通过模拟生物的遗传机制来搜索解空间。算法维护一个种群&am…

每日一篇英语文章分享:I have a dream. 争取早日阅读论文自由.

我有一个梦想》&#xff08;英文&#xff1a;I have a dream&#xff09;是美国黑人民权运动领袖马丁路德金于1963年8月28日在华盛顿林肯纪念堂发表的纪念性演讲。 《我有一个梦想》是马丁路德金在美国黑人受种族歧视和迫害由来已久的背景下&#xff0c;为了推动美国国内黑人争…

【语义解析:连接自然语言与机器智能的桥梁】

语义解析&#xff1a;连接自然语言与机器智能的桥梁 语义解析技术可以提高人机交互的效率和准确性&#xff0c;在自然语言处理、数据分析、智能客服、智能家居等领域都有广泛的应用前景。特别是在大数据时代&#xff0c;语义解析能够帮助企业更快速地从大量的数据中获取有用的…