Segmenter
Stay organized with collections
Save and categorize content based on your preferences.
A Segmentation
client for identifying pixels in a supplied image as being part of the foreground or the
background.
Segmenter segmenter = Segmentation.getClient(segmenterOptions);
To perform segmentation of an image, you first need to create an instance of
InputImage
from a Bitmap
,
ByteBuffer
, etc. See
InputImage
documentation for more details. For example, the code below creates a InputImage
from a Bitmap
.
InputImage image = InputImage.fromBitmap(bitmap, rotationDegrees);
Then the code below can segment the supplied
InputImage
and
asynchronously return a
SegmentationMask
.
Task<SegmentationMask> task = segmenter.process(image);
task.addOnSuccessListener(...).addOnFailureListener(...);
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.
Performs segmentation on an input 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.
Performs segmentation on an input image.
Create an InputImage
object using one of InputImage
's
factory methods. See InputImage
documentation for more details.
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\u003eThe \u003ccode\u003eSegmenter\u003c/code\u003e interface identifies foreground and background pixels in an image, enabling image segmentation.\u003c/p\u003e\n"],["\u003cp\u003eTo perform segmentation, create an \u003ccode\u003eInputImage\u003c/code\u003e or \u003ccode\u003eMlImage\u003c/code\u003e object from your image source (e.g., Bitmap).\u003c/p\u003e\n"],["\u003cp\u003eUse the \u003ccode\u003eprocess()\u003c/code\u003e method of the \u003ccode\u003eSegmenter\u003c/code\u003e to get a \u003ccode\u003eSegmentationMask\u003c/code\u003e representing the segmentation results.\u003c/p\u003e\n"],["\u003cp\u003eRemember to call the \u003ccode\u003eclose()\u003c/code\u003e method to release resources when you're finished with the \u003ccode\u003eSegmenter\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Segmenter\n\npublic interface **Segmenter** extends [Detector](/android/reference/com/google/mlkit/vision/interfaces/Detector)\\\u003c[SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)\\\u003e \nA [Segmentation](/android/reference/com/google/mlkit/vision/segmentation/Segmentation)\nclient for identifying pixels in a supplied image as being part of the foreground or the\nbackground. \n\n Segmenter segmenter = Segmentation.getClient(segmenterOptions);\n \nTo perform segmentation of an image, you first need to create an instance of\n[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nfrom a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html),\n[ByteBuffer](//developer.android.com/reference/java/nio/ByteBuffer.html), etc. See\n[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\ndocumentation for more details. For example, the code below creates a [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nfrom a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html). \n\n InputImage image = InputImage.fromBitmap(bitmap, rotationDegrees);\n \nThen the code below can segment the supplied [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) and asynchronously return a [SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask). \n\n Task\u003cSegmentationMask\u003e task = segmenter.process(image);\n task.addOnSuccessListener(...).addOnFailureListener(...);\n \n### Public Method Summary\n\n|---------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract void | [close](/android/reference/com/google/mlkit/vision/segmentation/Segmenter#close())() Closes the detector and releases its resources. |\n| abstract Task\\\u003c[SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)\\\u003e | [process](/android/reference/com/google/mlkit/vision/segmentation/Segmenter#process(com.google.android.odml.image.MlImage))([MlImage](/android/reference/com/google/android/odml/image/MlImage) image) Performs segmentation on an input image. |\n| abstract Task\\\u003c[SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)\\\u003e | [process](/android/reference/com/google/mlkit/vision/segmentation/Segmenter#process(com.google.mlkit.vision.common.InputImage))([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image) Performs segmentation on an input 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[SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)\\\u003e\n**process** ([MlImage](/android/reference/com/google/android/odml/image/MlImage) image)\n\nPerforms segmentation on an input 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 [SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask). \n\n#### public abstract Task\\\u003c[SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)\\\u003e\n**process** ([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image)\n\nPerforms segmentation on an input 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 [SegmentationMask](/android/reference/com/google/mlkit/vision/segmentation/SegmentationMask)."]]