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 19 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
python有几个版本
Jun 17 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
浅谈python锁与死锁问题
Aug 14 Python
scrapy实践之翻页爬取的实现
Jan 05 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
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python输出各行命令详解
2018/02/01 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
python实现Virginia无密钥解密
2019/03/20 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python PO设计模式的具体使用
2019/08/16 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
酒店经理职责
2014/01/30 职场文书
丧事答谢词
2015/01/05 职场文书
植树节新闻稿
2015/07/17 职场文书