脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 详解Python调用华为API实现图像标签

详解Python调用华为API实现图像标签

2022-11-28 09:53ZHW_AI课题组 Python

华为云图像标签可识别上千种通用物体以及数百种场景标签,一个图像可包含多个标签内容,语义内容非常丰富。本文将通过Python调用华为API实现图像标签,需要的可以参考一下

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图像标签的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/m0_37758063/article/details/124106749

延伸 · 阅读

精彩推荐
  • PythonDjango csrf校验的实现

    Django csrf校验的实现

    这篇文章主要介绍了Django csrf校验的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    Hank·Paul3552021-10-26
  • PythonPython中的groupby分组功能的实例代码

    Python中的groupby分组功能的实例代码

    这篇文章主要介绍了Python中的groupby分组功能的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...

    水之魂201811502021-03-16
  • Pythonpython中对数据进行各种排序的方法

    python中对数据进行各种排序的方法

    这篇文章主要介绍了python中对数据进行各种排序的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下...

    change_world11092021-07-28
  • Python详解Python yaml模块

    详解Python yaml模块

    这篇文章主要介绍了Python yaml模块的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下...

    -零8262020-09-24
  • Pythondjango 实现编写控制登录和访问权限控制的中间件方法

    django 实现编写控制登录和访问权限控制的中间件方法

    今天小编就为大家分享一篇django 实现编写控制登录和访问权限控制的中间件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    云中不知人12282021-05-15
  • Python浅谈PYTHON 关于文件的操作

    浅谈PYTHON 关于文件的操作

    这篇文章主要介绍了PYTHON 关于文件的操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    Yang-hao11932021-06-07
  • Python基于python实现MQTT发布订阅过程原理解析

    基于python实现MQTT发布订阅过程原理解析

    这篇文章主要介绍了基于python实现MQTT发布订阅过程原理解析,文中通过示例代介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    小青年て22902020-07-27
  • Pythonwin10下安装Anaconda的教程(python环境+jupyter_notebook)

    win10下安装Anaconda的教程(python环境+jupyter_notebook)

    Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。这篇文章主要介绍了win10下安装Anaconda(python环境+jupyter_notebook),需...

    BIG_FISH18222021-11-26