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 10 Python
Python实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
《Python学习手册》学习总结
Jan 17 Python
django 开发忘记密码通过邮箱找回功能示例
Apr 17 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
代码实例讲解python3的编码问题
Jul 08 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Python搭建Keras CNN模型破解网站验证码的实现
Apr 07 Python
django 解决自定义序列化返回处理数据为null的问题
May 20 Python
python实现简单区块链结构
Apr 25 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表单提交实例讲解
2015/11/12 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
如何通过python检查文件是否被占用
2020/12/18 Python
财务工作个人求职的自我评价
2013/12/19 职场文书
开业庆典邀请函
2014/01/08 职场文书
环保项目建议书
2014/08/26 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
毕业论文致谢词
2015/05/14 职场文书
对公司的意见和建议
2015/06/04 职场文书
银行求职信怎么写
2019/06/20 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js
python开发制作好看的时钟效果
2022/05/02 Python