PoseLandmarker

公开 final 类 PoseLandmarker

对图片执行姿势地标检测。

此 API 需要预训练的姿势地标模型资源包。请参阅

  • 输入图片 MPImage
    • 运行姿势特征点检测的图片。
  • 输出 PoseMarkererResult PoseLandmarkerResult
    • 包含姿势地标的 PoseMarkererResult。

嵌套类

类别 PoseLandmarker.PoseLandmarkerOptions 用于设置 PoseLandmarker 的选项。 

字段

public static final Set<Connection> POSE_LANDMARKS

公共方法

静态 PoseLandmarker
createFromBuffer(Context context, ByteBuffer modelBuffer)
基于模型缓冲区和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。
静态 PoseLandmarker
createFromFile(Context context, String modelPath)
使用模型文件和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。
静态 PoseLandmarker
createFromFile(Context context, File modelFile)
使用模型文件和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。
静态 PoseLandmarker
PoseLandmarkerResult
detectMPImage 图片)
使用默认的图片处理选项(即
PoseLandmarkerResult
detectMPImage 图片、ImageProcessingOptions imageProcessingOptions)
对提供的单张图片执行姿势特征点检测。
void
detectAsyncMPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
发送实时图像数据以执行姿势地标检测,结果将通过 PoseLandmarker.PoseLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。
void
detectAsyncMPImage 图片,长 timestampMs)
发送实时图像数据,以使用默认图像处理选项(即
PoseLandmarkerResult
detectForVideoMPImage 图片、ImageProcessingOptions imageProcessingOptions、long timestampMs)
对提供的视频帧执行姿势地标检测。
PoseLandmarkerResult
detectForVideoMPImage 图片,长 timestampMs)
使用默认的图片处理选项(即,在提供的视频帧上执行姿势地标检测)

继承的方法

字段

public static final 设置<Connection> POSE_LANDMARKS

公共方法

public static PoseLandmarker createFromBuffer (Context context, ByteBuffer modelBuffer)

基于模型缓冲区和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelBuffer 检测模型的直接 ByteBufferERROR(/MappedByteBuffer)
抛出
如果 PoseLandmarker 创建过程中出错,则会发生该错误。

Public static PoseLandmarker createFromFile (Context context, String modelPath)

使用模型文件和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelPath 包含资源中元数据的姿势地标模型的路径。
抛出
如果 PoseLandmarker 创建过程中出错,则会发生该错误。

public static PoseLandmarker createFromFile (上下文上下文、文件 modelFile)

使用模型文件和默认的 PoseLandmarker.PoseLandmarkerOptions 创建 PoseLandmarker 实例。

参数
context 一个 Android ERROR(/Context)
modelFile 姿势地标模型 File 实例。
抛出
IOException 如果在打开 tflite 模型文件时发生 I/O 错误,则会发生该错误。
如果 PoseLandmarker 创建过程中出错,则会发生该错误。

public static PoseLandmarker createFromOptions (Context context, PoseLandmarker.PoseLandmarkerOptions mappingerOptions)

参数
context 一个 Android ERROR(/Context)
landmarkerOptions 一个 PoseLandmarker.PoseLandmarkerOptions 实例。
抛出
如果 PoseLandmarker 创建过程中出错,则会发生该错误。

public PoseLandmarkerResult detect MPImage 图片)

使用默认图片处理选项(即未应用任何旋转)对提供的单张图片执行姿势地标检测。仅当使用 ERROR(/RunningMode.IMAGE) 创建 PoseLandmarker 时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
抛出
出现内部错误。

public PoseLandmarkerResult detect MPImage image、ImageProcessingOptions imageProcessingOptions)

对提供的单张图片执行姿势特征点检测。仅当使用 ERROR(/RunningMode.IMAGE) 创建 PoseLandmarker 时,才使用此方法。输入图片格式的 TODO 更新 Java 文档。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

public void detectAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

发送实时图像数据以执行姿势地标检测,结果将通过 PoseLandmarker.PoseLandmarkerOptions 中提供的 OutputHandler.ResultListener 获取。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 创建 PoseLandmarker 时,才应使用此方法。

必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到姿势地标。输入时间戳必须单调递增。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

public void detectAsync (MPImage image, long timestampMs)

发送实时图片数据,以使用默认图片处理选项(即不应用任何旋转)执行姿势地标检测,并且结果将通过 PoseLandmarker.PoseLandmarkerOptions 中提供的 OutputHandler.ResultListener 提供。仅当使用 ERROR(/RunningMode.LIVE_STREAM) 创建 PoseLandmarker 时,才使用此方法。

必须提供时间戳(以毫秒为单位),以指明输入图片何时发送到姿势地标。输入时间戳必须单调递增。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
出现内部错误。

public PoseLandmarkerResult detectForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)

对提供的视频帧执行姿势地标检测。仅当使用 ERROR(/RunningMode.VIDEO) 创建 PoseLandmarker 时,才使用此方法。

必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
imageProcessingOptions ImageProcessingOptions,用于指定在运行推断之前如何处理输入图片。请注意,此任务支持相关区域:指定 ImageProcessingOptions.regionOfInterest() 会导致此方法抛出 IllegalArgumentException。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
IllegalArgumentException 如果 ImageProcessingOptions 指定了关注区域,则会发生该错误。
出现内部错误。

公共 PoseLandmarkerResult detectForVideo MPImage 图片,长时间戳 Ms)

使用默认的图片处理选项(即未应用任何旋转)对提供的视频帧执行姿势地标检测。仅当使用 ERROR(/RunningMode.VIDEO) 创建 PoseLandmarker 时,才使用此方法。

必须提供视频帧的时间戳(以毫秒为单位)。输入时间戳必须单调递增。

PoseLandmarker 支持以下颜色空间类型:

参数
图片 用于处理的 MediaPipe MPImage 对象。
timestampMs 输入时间戳(以毫秒为单位)。
抛出
出现内部错误。