Python使用华为API为图像设置多个锚点标签


Posted in Python onApril 12, 2022

1.华为云API介绍

1.1 华为云图像标签

可识别上千种通用物体以及数百种场景标签,一个图像可包含多个标签内容,语义内容非常丰富。更智能、准确的理解图像内容,让智能相册管理、照片检索和分类、基于场景内容或者物体的广告推荐等功能更加准确。

Python使用华为API为图像设置多个锚点标签

1.2 应用场景

1.场景分析

图像标签功能可准确识别视频、图像内容,提高检索效率和精度,从而使得个性化推荐、内容检索和分发更为有效。

Python使用华为API为图像设置多个锚点标签

2.智能相册

基于图像识别的标签可达近万种,智能相册可以自定义分类,比如“植物”、“美食”、“工作”等类别。方便用户管理相册,带来良好体验。

Python使用华为API为图像设置多个锚点标签

3.目标检测

在建筑施工现场,基于定制化的图像识别目标检测系统,可实时监测现场人员是否佩戴安全帽,以降低安全风险。

Python使用华为API为图像设置多个锚点标签

4. 图像搜索

基于图像标签的图像搜索技术,不管用户输入关键字,还是输入一张图像,都可以快速搜索到想要的图像。

Python使用华为API为图像设置多个锚点标签

1.3 调用华为云API实现图像标签

1.进入图像标签功能申请界面

首先使用账号登录华为云(也可另行注册)

(1)访问华为云官网huaweicloud.com,搜索“图像标签”

(2)点击“申请开通”(按照提示依次完成即可)

Python使用华为API为图像设置多个锚点标签

2.获取图像标签AK/SK

请确保账号登录华为云

访问华为云账号中我的凭证---------->再点击访问密钥获取AK/SK(按照提示下载对应的cv包)

Python使用华为API为图像设置多个锚点标签

3. 调试图像标签接口

(1)点击链接访问API 3.0 Explorer 在线接口调试页面apiexplorer.developer.huaweicloud.com

并在搜索框输入图像识别功能进入调试端口

Python使用华为API为图像设置多个锚点标签

4.API 3.0 Explorer 在线接口调试图

(2)如下图所示(可查看具体的调试要求)

Python使用华为API为图像设置多个锚点标签

2.实验过程

2.1实验代码

######准备工作:在cmd中进入你所使用的python所在环境,通过pip的方式安装华为云的Python SDK
pip install huaweicloudsdkimage
pip install huaweicloudsdkcore
pip install base64
#########实验代码:运行前面步骤生成的代码
# coding: utf-8
####  导入指定的数据包  
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkimage.v2.region.image_region import ImageRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkimage.v2 import *
import base64

#### base64编码格式
def image_to_base64(self):
    with open(self, 'rb') as f:
        base64_data = base64.b64encode(f.read())      #  将图像转换为 base64数据格式
        return base64_data


if __name__ == "__main__":

    ak = "yourself_ak_from_cv"  #### 输入获得的access key
    sk = "yourself_sk_from_cv"     ###输入获得的secret key
    credentials = BasicCredentials(ak, sk) \

    client = ImageClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ImageRegion.value_of("cn-north-4")) \
        .build()
####  channel =  cn-north-4   自己项目所在的大区
    try:
        request = RunImageTaggingRequest()
        request.body = ImageTaggingReq(
            limit=5,    ##  限制输出多少种类
            threshold=60,   ### 设置  confidence置信度  低于60的种类不输出
            language="zh",    ##  设置成中文显示
            image= image_to_base64('D:/data/train/动物/5.png')  ##  调用之前定义的 base64 编码 并且输入自己的图片路径
        )
        response = client.run_image_tagging(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

2.2运行结果

{"result": {"tags": [{"confidence": "98.94", "type": "动物", "tag": "猪", "i18n_tag": {"zh": "猪", "en": "Pig"}, "i18n_type": {"zh": "动物", "en": "Animal"}, "instances": [{"bounding_box": {"height": 333.29959458571216, "top_left_x": 4.955303632296049, "top_left_y": 5.086499214172363, "width": 395.2104104849008}, "confidence": "93.81"}]}, 
{"confidence": "85.00", "type": "人工场景", "tag": "农场", "i18n_tag": {"zh": "农场", "en": "Farm"}, "i18n_type": {"zh": "人工场景", "en": "Manual scenario"}, "instances": []},
 {"confidence": "66.37", "type": "食物", "tag": "火腿", "i18n_tag": {"zh": "火腿", "en": "Ham"}, "i18n_type": {"zh": "食物", "en": "Food"}, "instances": []}]}}

2.3 问题注释

(1) 置信度输入范围必须在 0~100 超过此范围则报错

(2) 输入图像路径时一定要调用之前定义好的base64编码函数

以上就是详解Python调用华为API实现图像标签的详细内容!

Python 相关文章推荐
python格式化字符串实例总结
Sep 28 Python
python统计一个文本中重复行数的方法
Nov 19 Python
Python基础学习之常见的内建函数整理
Sep 06 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
Python日志模块logging基本用法分析
Aug 23 Python
python梯度下降法的简单示例
Aug 31 Python
matplotlib制作雷达图报错ValueError的实现
Jan 05 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
基于flask实现五子棋小游戏
May 25 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
python实现手机推送 代码也就10行左右
Apr 12 #Python
Python内置包对JSON文件数据进行编码和解码
详细介绍python操作RabbitMq
Python selenium绕过webdriver监测执行javascript
Apr 12 #Python
Pillow图像处理库安装及使用
Apr 12 #Python
Python各协议下socket黏包问题原理
Apr 12 #Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 #Python
You might like
其他功能
2006/10/09 PHP
php实现网站插件机制的方法
2009/11/10 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
详解a++和++a的区别
2017/08/30 Javascript
python实现哈希表
2014/02/07 Python
python定时器使用示例分享
2014/02/16 Python
python实现网站的模拟登录
2016/01/04 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
Python函数装饰器实现方法详解
2018/12/22 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
小学生优秀评语大全
2014/04/22 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
迎新晚会策划方案
2014/06/13 职场文书
水利水电专业自荐信
2014/07/08 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2014最新实习证明模板
2014/10/02 职场文书
实习班主任自我评价
2015/03/11 职场文书
军训后的感想
2015/08/07 职场文书
Python安装使用Scrapy框架
2022/04/12 Python
python中pycryto实现数据加密
2022/04/29 Python