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删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
解决Python 遍历字典时删除元素报异常的问题
Sep 11 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
python生成密码字典的方法
Jul 06 Python
python批量修改ssh密码的实现
Aug 08 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
Django框架 信号调度原理解析
Sep 04 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
用Python远程登陆服务器的步骤
Apr 16 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
php5中类的学习
2008/03/28 PHP
PHP防止post重复提交数据的简单例子
2014/06/07 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
python入门教程 python入门神图一张
2018/03/05 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
如何用python写个模板引擎
2021/01/14 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
入党自我鉴定范文
2013/10/04 职场文书
英语硕士生求职简历的自我评价
2013/10/15 职场文书
《燕子》教学反思
2014/02/18 职场文书
优秀毕业生求职信
2014/06/05 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2014年终工作总结范本
2014/12/15 职场文书
平安建设汇报材料
2014/12/29 职场文书
单位接收函格式
2015/01/30 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP