云服务、API、SDK,调试,查看,我都行
浏览短文您能够学习到:人工智能AI图像识别的图像识别、名人辨认
1 IntelliJ IDEA 之API插件介绍
API插件反对 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮忙开发者更高效、便捷的搭建利用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 核心和 CLI 核心产品,致力于为开发者提供更稳固、疾速、平安的编程体验。
在本插件中,咱们提供了但不局限于如下的性能:
对接华为云API开放平台,反对用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何应用API。
提供华为云SDK代码片段补全性能,SDK依赖包主动引入,减速用户集成华为云API。
对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮忙用户疾速学习。
阐明:
在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。
API插件在IntelliJ IDEA等系列平台和VS Code IDE的应用依赖底座插件,请提前装置底座插件。
2 API插件装置--IntelliJ IDEA
2.1 IntelliJ IDEA等平台
装置筹备:下载并装置JDK1.8或更高版本。下载并装置IntelliJ IDEA 2020.2或更高版本。
须知:IntellIj平台同时撑持包含Goland、Pycharm等在内的IDE,若在其它相干IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的装置流程,其余IntelliJ系列的IDE请参考IDEA。https://developer.huaweicloud.com/develop/toolkit.html
开始装置:
您能够在间接在IDE插件市场或者间接在JetBrains插件市场下载离线包装置。
IDE装置
- 在IntelliJ IDEA顶部菜单栏中抉择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- Plugins区域单击Marketplace,在搜寻栏中输出Huawei Cloud API。
- Search Results区域会呈现Huawei Cloud API,单击Install,实现后重启IDE。
离线包装置:
- 进入插件市场搜寻Huawei Cloud API,进入插件详情页,在Versions页签下抉择想要版本的API插件,点击Download下载离线的插件压缩包保留到本地。。
- 在IntelliJ IDEA顶部菜单栏中抉择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击 ,再单击Install Plugin from Disk...。
- 在Choose Plugin File对话框中抉择离线安装包(不必解压),并依照IntelliJ IDEA装置页面的提醒,实现后续装置步骤。
阐明:若以后您想要装置插件的IntelliJ IDE曾经在桌面关上,则进入插件市场搜寻Huawei Cloud API,进入插件详情页,在右上角会辨认到本地曾经关上的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后盾会开始装置相应版本的API插件。
装置验证:在IntelliJ系列平台上装置插件胜利后在左侧的导航栏中能够看到Huawei Cloud Toolkit图标,点击后面板会呈现Huawei Cloud API的字样,则阐明装置胜利。
2.2 API列表
左侧展现API列表,能够查问所有API,目前云服务206,APIs9213
https://developer.huaweicloud.com/develop/toolkit.html
账号筹备:
要应用华为云 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接口的形式应用图像识别服务。
3 名人辨认示例
环境配置:
须要具备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>
代码示例
该名人辨认Demo示例对应URI:POST /v1.0/image/celebrity-recognition。将AK/SK等信息替换后,即可运行体验Demo。
在 com.huawei.codelabs.image.ImageTagging.java文件中配置用户AK/SK。示例代码如下:
// 名人辨认服务的的根本信息,生成对应的一个客户端连贯对象
BasicCredentials credential = new BasicCredentials() .withAk(ak) // your ak .withSk(sk) // your sk .withProjectId(projectId); // projectId
阐明:
ak 华为云账号 Access Key 。
sk 华为云账号 Secret Access Key 。具体请参考拜访密钥
projectId 云服务所在我的项目 ID 。具体请参考API凭证
初始化客户端
ImageClient client = ImageClient.newBuilder() .withCredential(credential) .withHttpConfig(config) .withEndpoint(endpoint) .build();
阐明:
endpoint 华为云各服务利用区域和各服务的终端节点,详情请查看地区和终端节点。
举例: 如下图,如果要应用北京四的图像识别服务,endpoint应填入 https://image.cn-north-4.myhuaweicloud.com
抉择一张明星或者网络红人的人像图片(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);
阐明:
url和base64抉择其中一种进行赋值
构建发送申请
RunCelebrityRecognitionRequest req = new RunCelebrityRecognitionRequest();req.setBody(image);client.runCelebrityRecognition(req);
运行后果
[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: 迈克尔·杰克逊}]
4 图像标签辨认示例图
环境配置
须要具备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>
代码示例
图像标签Demo示例对应URI:POST /v1.0/image/tagging。将AK/SK信息替换后,即可运行体验Demo
在 ImageTagging.java文件中配置用户AK/SK。示例代码如下:
// 图片标签服务的的根本信息,生成对应的一个客户端连贯对象
BasicCredentials credential = new BasicCredentials() .withAk(ak) // your ak .withSk(sk) // your sk .withProjectId(projectId); // projectId
阐明:
ak 华为云账号 Access Key 。
sk 华为云账号 Secret Access Key 。具体请参考拜访密钥
projectId 云服务所在我的项目 ID 。具体请参考API凭证
初始化客户端
ImageClient client = ImageClient.newBuilder() .withCredential(credential) .withHttpConfig(config) .withEndpoint(endpoint) .build();
阐明:
endpoint 华为云各服务利用区域和各服务的终端节点,详情请查看地区和终端节点。
举例: 如下图,如果要应用北京四的图像识别服务,endpoint应填入 https://image.cn-north-4.myhuaweicloud.com
构建拜访图片标签服务须要的参数(抉择本地图片或者图片的url)
// url模式
ImageTaggingReq image = new ImageTaggingReq(); image.setUrl(url);
// base64模式
byte[] fileData = FileUtils.readFileToByteArray(new File("./resource/image-tagging.jpg")); String fileBase64Str = Base64.encodeBase64String(fileData); ImageTaggingReq imageOfBase64 = new ImageTaggingReq(); imageOfBase64.setImage(fileBase64Str.getBytes());
阐明:
url和base64抉择其中一种进行调用,不可同时抉择
构建发送申请
RunImageTaggingRequest req = new RunImageTaggingRequest();req.setBody(image);client.runImageTagging(req);
运行后果
[main] INFO HuaweiCloud-SDK-Access - "POST https://image.cn-north-4.myhuaweicloud.com/v1.0/image/tagging" 200 3285 09e7bf33492c01f7a5ef1f2bb05a168d class ImageTaggingBody { tags: [class ImageTaggingItemBody { confidence: 95.9 type: object tag: 树 i18nTag: class ImageTaggingI18nTag { zh: 树 en: Tree } }, class ImageTaggingItemBody { confidence: 91.97 type: object tag: 动物 i18nTag: class ImageTaggingI18nTag { zh: 动物 en: Plant } }, class ImageTaggingItemBody { confidence: 91.53 type: object tag: 夕阳 i18nTag: class ImageTaggingI18nTag { zh: 夕阳 en: Setting sun } }] }
5 火车票身份证一致性验证/身份证一致性验证
身份证辨认API:
示例代码
from HWOcrClientAKSK import HWOcrClientAKSK from HWOcrClientToken import HWOcrClientToken import json AK = "{your ak string}" # AK from authentication. SK = "{your sk string}" # SK from authentication. region = "cn-north-4" # http region information. def aksk_request(req_uri,img_path): ##AK/SK认证形式 option = {} # option["side"]="front" try: ocr_client = HWOcrClientAKSK(AK, SK, region) # Initialize the ocr_client. response = ocr_client.request_ocr_service_base64(req_uri, img_path, option) # Call the OCR API to recognize image. print("Status code:" + str(response.status_code) + "\ncontent:" + response.text) except ValueError as e: print(e) if response.status_code==200: return json.loads(response.text) else: return None def get_info(trainImg,cardImg): req_uri = "/v1.0/ocr/train-ticket" train_data=aksk_request(req_uri,trainImg) if train_data==None: print('获取车票信息失败!请从新验证。') return False req_uri = "/v1.0/ocr/id-card" card_data=aksk_request(req_uri,cardImg) if card_data==None: print('获取身份证信息失败!请从新验证。') return False if len(card_data['result']['number'])!=18: #这里仅解决18位的身份证号 print('您的身份证号非18位,校验信息失败,请分割工作人员!') return False number=train_data['result']['id_number'] # number = number[:6] + '*' * 8 + number[-4:] number = number[:10] + '*' * 4 + number[-4:] if(train_data['result']['name']==card_data['result']['name'] and train_data['result']['id_number']==number): print('身份证和火车票信息统一,您能够来开火车了!') return True else: print('身份证和火车票信息不统一,请从新验证!') return False if __name__ == '__main__': trainImg = "./data/1.jpg" cardImg = "./data/id-card-demo0.jpg" get_info(trainImg,cardImg)
运行示例
依据理论状况替换如下变量 {AK}、{SK}、{region}、{trainImg} 、{cardImg}
执行 OCRDemo.py文件
运行后果
执行完 文件后,在 console 查看日志打印了“身份证和火车票信息统一,您能够来开火车了!”。
6 体验插件的魅力
华为云devkit已上线
体验链接:https://developer.huaweicloud.com/develop/toolkit.html