如何使用 Google Cloud 的 Vision API?
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() 可视化图像。使用遍历 labels 变量的循环打印每个标签的描述。
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 集成到您自己的应用程序中,为基于图像的分析和理解开辟无限可能。