PoseDetector
Stay organized with collections
Save and categorize content based on your preferences.
Public Method Summary
abstract void |
close()
Closes the detector and releases its resources.
|
abstract Task<Void>
|
|
abstract Task<Pose>
|
|
abstract Task<Pose>
|
|
Inherited Method Summary
From interface java.io.Closeable
From interface java.lang.AutoCloseable
Public Methods
public abstract void close ()
Closes the detector and releases its resources.
public abstract Task<Void> getInitTask ()
Returns the task for initializing the PoseDetector
.
The initialization is triggered in the background when a PoseDetector
instance is created. The first
process(InputImage)
or
process(MlImage)
call will wait for the initialization to be finished.
If you want to optimize the latency of the first process call for better user
experience, you could call this method to track initialization progress and only make
the process call when the detector is successfully initialized.
public abstract Task<Pose>
process (MlImage
image)
Detects human pose from the supplied image.
This is an experimental API in beta version.
Create an MlImage
object using one of MlImage
's
builder methods. See MlImage
documentation for more details.
Returns
- a
Task
that
asynchronously returns a detected Pose
Detects human pose from the supplied image.
Create an InputImage
object using one of InputImage
's
factory methods. See InputImage
documentation for more details.
Returns
- a
Task
that
asynchronously returns a detected Pose
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-31 UTC.
[null,null,["Last updated 2024-10-31 UTC."],[[["\u003cp\u003e\u003ccode\u003ePoseDetector\u003c/code\u003e is a client for finding human poses within images.\u003c/p\u003e\n"],["\u003cp\u003eIt is created using \u003ccode\u003ePoseDetection.getClient(PoseDetectorOptionsBase)\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo detect poses, process an \u003ccode\u003eInputImage\u003c/code\u003e or \u003ccode\u003eMlImage\u003c/code\u003e using the \u003ccode\u003eprocess()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eclose()\u003c/code\u003e method releases the detector's resources when finished.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetInitTask()\u003c/code\u003e method can be used to track the detector's initialization progress for better performance.\u003c/p\u003e\n"]]],["The `PoseDetector` interface facilitates human pose detection in images. To use it, create a `PoseDetector` instance via `PoseDetection.getClient()`. Prepare an image using `InputImage` from sources like `Bitmap` or `ByteBuffer`. Use the `process()` method, passing the image, to detect a `Pose`. The result is returned asynchronously via a `Task`. `getInitTask()` allows monitoring initialization. Use `close()` to release resources. `process` method also accepts `MlImage` objects.\n"],null,["# PoseDetector\n\npublic interface **PoseDetector** extends [Detector](/android/reference/com/google/mlkit/vision/interfaces/Detector)\\\u003c[Pose](/android/reference/com/google/mlkit/vision/pose/Pose)\\\u003e \nA [PoseDetection](/android/reference/com/google/mlkit/vision/pose/PoseDetection)\nclient for finding [Pose](/android/reference/com/google/mlkit/vision/pose/Pose) in a supplied\nimage.\n\nA [PoseDetector](/android/reference/com/google/mlkit/vision/pose/PoseDetector)\nis created via [PoseDetection.getClient(PoseDetectorOptionsBase)](/android/reference/com/google/mlkit/vision/pose/PoseDetection#getClient(com.google.mlkit.vision.pose.PoseDetectorOptionsBase)). For example: \n\n PoseDetector poseDetector = PoseDetection.getClient(options);\n \nTo perform pose detection in an image, you first need to create an instance of `\n`[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) from a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html), [ByteBuffer](//developer.android.com/reference/java/nio/ByteBuffer.html), [Image](//developer.android.com/reference/android/media/Image.html) etc. See [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) documentation for more details. For example, the code below creates a [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) from a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html). \n\n InputImage image = InputImage.fromBitmap(bitmap, rotationDegrees);\n \nThen the code below can detect [Pose](/android/reference/com/google/mlkit/vision/pose/Pose) in the supplied `\n`[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage). \n\n Task\u003cPose\u003e task = poseDetector.process(image);\n task.addOnSuccessListener(...).addOnFailureListener(...);\n \n### Public Method Summary\n\n|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract void | [close](/android/reference/com/google/mlkit/vision/pose/PoseDetector#close())() Closes the detector and releases its resources. |\n| abstract Task\\\u003c[Void](//developer.android.com/reference/java/lang/Void.html)\\\u003e | [getInitTask](/android/reference/com/google/mlkit/vision/pose/PoseDetector#getInitTask())() Returns the task for initializing the [PoseDetector](/android/reference/com/google/mlkit/vision/pose/PoseDetector). |\n| abstract Task\\\u003c[Pose](/android/reference/com/google/mlkit/vision/pose/Pose)\\\u003e | [process](/android/reference/com/google/mlkit/vision/pose/PoseDetector#process(com.google.android.odml.image.MlImage))([MlImage](/android/reference/com/google/android/odml/image/MlImage) image) Detects human pose from the supplied image. |\n| abstract Task\\\u003c[Pose](/android/reference/com/google/mlkit/vision/pose/Pose)\\\u003e | [process](/android/reference/com/google/mlkit/vision/pose/PoseDetector#process(com.google.mlkit.vision.common.InputImage))([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image) Detects human pose from the supplied image. |\n\n### Inherited Method Summary\n\nFrom interface java.io.Closeable \n\n|---------------|---------|\n| abstract void | close() |\n\nFrom interface java.lang.AutoCloseable \n\n|---------------|---------|\n| abstract void | close() |\n\nPublic Methods\n--------------\n\n#### public abstract void **close** ()\n\nCloses the detector and releases its resources. \n\n#### public abstract Task\\\u003c[Void](//developer.android.com/reference/java/lang/Void.html)\\\u003e **getInitTask** ()\n\nReturns the task for initializing the [PoseDetector](/android/reference/com/google/mlkit/vision/pose/PoseDetector).\n\nThe initialization is triggered in the background when a [PoseDetector](/android/reference/com/google/mlkit/vision/pose/PoseDetector)\ninstance is created. The first [process(InputImage)](/android/reference/com/google/mlkit/vision/pose/PoseDetector#process(com.google.mlkit.vision.common.InputImage)) or [process(MlImage)](/android/reference/com/google/mlkit/vision/pose/PoseDetector#process(com.google.android.odml.image.MlImage)) call will wait for the initialization to be finished.\n\nIf you want to optimize the latency of the first process call for better user\nexperience, you could call this method to track initialization progress and only make\nthe process call when the detector is successfully initialized. \n\n#### public abstract Task\\\u003c[Pose](/android/reference/com/google/mlkit/vision/pose/Pose)\\\u003e\n**process** ([MlImage](/android/reference/com/google/android/odml/image/MlImage) image)\n\nDetects human pose from the supplied image.\n\nThis is an experimental API in beta version.\n\nCreate an [MlImage](/android/reference/com/google/android/odml/image/MlImage)\nobject using one of [MlImage](/android/reference/com/google/android/odml/image/MlImage)'s\nbuilder methods. See [MlImage](/android/reference/com/google/android/odml/image/MlImage)\ndocumentation for more details. \n\n##### Returns\n\n- a [Task](/android/reference/com/google/android/gms/tasks/Task) that asynchronously returns a detected [Pose](/android/reference/com/google/mlkit/vision/pose/Pose) \n\n#### public abstract Task\\\u003c[Pose](/android/reference/com/google/mlkit/vision/pose/Pose)\\\u003e\n**process** ([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image)\n\nDetects human pose from the supplied image.\n\nCreate an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nobject using one of [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)'s\nfactory methods. See [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\ndocumentation for more details. \n\n##### Returns\n\n- a [Task](/android/reference/com/google/android/gms/tasks/Task) that asynchronously returns a detected [Pose](/android/reference/com/google/mlkit/vision/pose/Pose)"]]