如何使用 Google Cloud 的 Vision API?

pythonserver side programmingprogramming更新于 2023/8/30 3:51:00

Google Cloud Vision API 是一款功能强大的云端工具,允许开发人员将高级图像分析功能集成到他们的应用程序中。在当今的数字时代,有大量图像可供使用。 Vision API 用于从这些图像中提取有意义的信息,例如识别对象、检测文本、理解情绪等。在本文中,我们将了解如何使用 Google Cloud 的 Vision API 来分析图像数据。

算法

  • 导入所需的库:

    • 导入您所使用的编程语言所需的库,例如 Python 的 google.cloud.vision 库。

  • 设置 Google Cloud 项目:

    • 创建 Google Cloud 项目并在项目中启用 Vision API。

    • 生成 API 密钥或设置身份验证凭据以授权 API 访问。

  • 安装所需的库:

    • 安装 Google Cloud 提供的必要客户端库或 SDK,以便与 Vision API 进行交互。使用 pip 等包管理器安装库。

  • 验证并设置客户端:

    • 使用生成的 API 密钥或身份验证凭据验证客户端。

    • 创建 Vision API 客户端实例以与 Vision API 建立连接。

  • 准备图像进行分析:

    • 加载要分析的图像文件或提供图像的可公开访问的 URL。

    • 将图像转换为适合 Vision API 的格式,例如 base64 编码格式或字节数组。

  • 发出 API 请求:

    • 使用必要的 API 请求对象参数,例如图像和所需特征。

    • 使用客户端将 API 请求发送到适当的 Vision API 端点。

    • 在请求负载中包含图像数据。

  • 处理 API 响应:

    • 接收来自 Vision API 的响应。

    • 解析 API 返回的 JSON 响应以提取分析结果。

    • 从响应中提取相关信息,例如对象标签、边界框或置信度分数。

  • 利用结果:

    • 根据需要将获得的信息合并到您的应用程序逻辑中。

    • 根据分析的结果执行进一步分析或采取适当的措施数据。

示例

假设我们有一张包含多个对象的图像,我们想使用 Vision API 识别这些对象的标签。在下面的示例中,我们首先导入必要的库,包括 os、io、google.cloud.vision 和 matplotlib.pyplot。使用 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] 设置服务帐户密钥文件的路径。创建 ImageAnnotatorClient 的实例来验证并设置客户端以访问 Vision API。使用 io.open() 打开图像文件"multi_object.jpg"并读取内容。

视觉。使用图像内容创建图像对象。在客户端上调用 label_detection 方法,传递图像对象,以执行标签检测。在图像中检测到的标签存储在 labels 变量中。使用 matplotlib.pyplot.imshow() 对图像进行可视化。使用标签变量上的循环打印每个标签的描述。

import os
import io
from google.cloud import vision
from matplotlib import pyplot as plt
 
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = os.path.join(os.curdir, 'testing-388309-da3d81cb5874.json')
 
client = vision.ImageAnnotatorClient()
 
f = 'multi_object.jpg'
with io.open(f, 'rb') as image:
    content = image.read()
     
image = vision.Image(content = content)
response = client.label_detection(image = image)
labels = response.label_annotations
 
a = plt.imread(f)
plt.imshow(a)
 
for label in labels:
    print(label.description)

输出

Google Cloud Vision API 的应用

Google Cloud Vision API 使用尖端的机器学习模型来分析图像并提取有价值的见解。它提供了广泛的预训练模型和功能,可以通过简单的 REST API 使用。Vision API 的一些关键功能包括:

  • 图像分类:

    该 API 可以识别图像并将其分类为数千个预定义类别。例如,它可以识别常见物体、地标、动物甚至特定品牌。

  • 对象检测:

    通过对象检测,API 可以识别和定位图像中的多个对象,在每个对象周围提供边界框并对其进行相应的标记。此功能在需要计数或跟踪图像中的对象的场景中特别有用。

  • OCR(光学字符识别):

    Vision API 的 OCR 功能可以从图像中提取文本。它可以检测和识别各种语言的印刷文本,这对于涉及文档扫描、数据提取或文本分析的应用程序非常有用。

  • 面部检测和分析:

    使用 Vision API,您可以识别图像中的面部,分析面部属性(例如情绪、标志或表情),甚至执行面部匹配或验证。

  • 显式内容检测:

    该 API 可以检测和分类图像中的显式或不适当内容。此功能对于维护涉及用户生成内容的应用程序的完整性和安全性至关重要。

结论

在本文中,我们讨论了如何使用 Google Cloud 的 Vision API 在 Python 中进行图像分析。借助 Vision API 的广泛功能,您可以构建能够理解、解释和从图像中提取有价值见解的应用程序。通过遵循本指南中概述的步骤,您可以将 Vision API 集成到您自己的应用程序中,为基于图像的分析和理解开辟无限可能。


相关文章