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中比较运算符的使用
May 13 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
python图像常规操作
Nov 11 Python
python re模块findall()函数实例解析
Jan 19 Python
pycharm新建一个python工程步骤
Jul 16 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
PyTorch中的Variable变量详解
Jan 07 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
django模型类中,null=True,blank=True用法说明
Jul 09 Python
详解Python为什么不用设计模式
Jun 24 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
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
laravel自定义分页效果
2017/07/23 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python的socket编程入门
2018/01/29 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
简单英文演讲稿
2014/01/01 职场文书
迟到早退检讨书
2014/02/10 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
养牛场项目建议书
2014/05/13 职场文书
网络舆情信息简报
2015/07/21 职场文书
毕业感言怎么写
2015/07/31 职场文书