本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解 Rekognition 的图像和视频操作
Amazon Rekognition 提供两个主要 API 集用于进行图像和视频分析:
-
Amazon Rekognition Image:此 API 旨在分析图像。
-
Amazon Rekognition Video:此 API 侧重于分析存储视频和流视频。
这两个 API 均可检测各种实体,例如人脸和对象。要全面了解支持的比较和检测类型,请参阅了解 Rekognition 的分析类型中的章节。
Amazon Rekognition Image 操作
Amazon Rekognition Image 操作是同步的。输入和响应采用 JSON 格式。Amazon Rekognition Image 操作将分析采用 .jpg 或 .png 图像格式的输入图像。传递到 Amazon Rekognition Image 操作的图像可存储在 Amazon S3 存储桶中。如果您未使用 AWS CLI,则还可以将 Base64 编码图像字节直接传递到 Amazon Rekognition 操作。有关更多信息,请参阅使用图像。
Amazon Rekognition Video 操作
Amazon Rekognition Video API 便于分析存储在 Amazon S3 存储桶中的视频,或通过 Amazon Kinesis Video Streams 流式传输的视频。
对于存储视频操作,请注意以下几点:
-
操作是异步的。
-
必须通过“启动”操作启动分析(例如,StartFaceDetection 用于在存储的视频中进行人脸检测)。
-
分析的完成状态将发布到 Amazon SNS 主题。
-
要检索分析结果,请使用相应的“获取”操作(例如 GetFaceDetection)。
-
有关更多信息,请参阅使用存储视频分析。
对于流视频分析:
-
功能包括 Rekognition Video 集合中的人脸搜索和标签(对象或概念)检测。
-
标签分析结果将作为 Amazon SNS 和 Amazon S3 通知发送。
-
人脸搜索结果将输出到 Kinesis 数据流。
-
流视频分析的管理是通过 Amazon Rekognition Video 流处理器完成的(例如,使用 CreateStreamProcessor 创建处理器)。
-
有关更多信息,请参阅使用流视频事件。
每个视频分析操作都会返回有关正在分析的视频的元数据,以及任务 ID 和任务标签。标签检测和内容审核等视频操作允许您按时间戳或标签名称进行排序,并按时间戳或分段对结果进行汇总。
基于非存储的操作和基于存储的操作
Amazon Rekognition 操作分为以下类别。
-
非存储 API 操作 – 在这些操作中,Amazon Rekognition 不保存任何信息。您提供输入图像和视频,操作执行分析,然后返回结果,但 Amazon Rekognition 不会保存任何信息。有关更多信息,请参阅 非存储操作。
-
基于存储的 API 操作 – Amazon Rekognition 服务器可将检测到的人脸信息存储在称为集合的容器中。Amazon Rekognition 提供其他 API 操作,这些操作可用于搜索保存的人脸信息中是否存在匹配的人脸。有关更多信息,请参阅 基于存储的 API 操作。
使用 AWS 软件开发工具包或 HTTP 调用 Amazon Rekognition API 操作
您可以使用 AWS 软件开发工具包调用 Amazon Rekognition API 操作,也可以直接使用 HTTP 调用这些操作。您应总是使用 AWS 软件开发工具包,除非您有充分的理由不这样做。本节中的 Java 示例使用 AWS 软件开发工具包。虽然未提供 Java 项目文件,但您可使用 AWS Toolkit for Eclipse 通过 Java 开发 AWS 应用程序。
本节中的 .NET 示例使用 AWS SDK for .NET。您可以使用 AWS Toolkit for Visual Studio 通过 .NET 开发 AWS 应用程序。它包括有用模板和 AWS 各区服务浏览器,用于部署应用程序和管理服务。
本指南中的 API 参考介绍了使用 HTTP 调用 Amazon Rekognition 操作。有关 Java 参考信息,请参阅 AWS SDK for Java。
您可使用的 Amazon Rekognition 服务端点记录在 AWS 区域和端点上。
在使用 HTTP 调用 Amazon Rekognition 时,可使用 POST HTTP 操作。