Class that performs interactive segmentation on images.
mp.tasks.vision.InteractiveSegmenter(
    graph_config: mp.calculators.core.constant_side_packet_calculator_pb2.mediapipe_dot_framework_dot_calculator__pb2.CalculatorGraphConfig,
    running_mode: mp.tasks.vision.RunningMode,
    packet_callback: Optional[Callable[[Mapping[str, packet_module.Packet]], None]] = None
) -> None
Users can represent user interaction through RegionOfInterest, which gives
a hint to InteractiveSegmenter to perform segmentation focusing on the given
region of interest.
The API expects a TFLite model with mandatory TFLite Model Metadata.
|  | 
|---|
| (kTfLiteUInt8/kTfLiteFloat32) 
image input of size [batch x height x width x channels].batch inference is not supported (batchis required to be 1).RGB and greyscale inputs are supported (channelsis required to be
1 or 3).if type is kTfLiteFloat32, NormalizationOptions are required to be
attached to the metadata for input normalization.
 | 
| Output tensors | 
|---|
| (kTfLiteUInt8/kTfLiteFloat32) 
list of segmented masks.if output_typeis CATEGORY_MASK, uint8 Image, Image vector of size 1.if output_typeis CONFIDENCE_MASK, float32 Image list of sizechannels.batch is always 1
 | 
An example of such model can be found at:
https://tfhub.dev/tensorflow/lite-model/deeplabv3/1/metadata/2
| Args | 
|---|
| graph_config | The mediapipe vision task graph config proto. | 
| running_mode | The running mode of the mediapipe vision task. | 
| packet_callback | The optional packet callback for getting results
asynchronously in the live stream mode. | 
| Raises | 
|---|
| ValueError | The packet callback is not properly set based on the task's
running mode. | 
Methods
close
View source
close() -> None
Shuts down the mediapipe vision task instance.
| Raises | 
|---|
| RuntimeError | If the mediapipe vision task failed to close. | 
convert_to_normalized_rect
View source
convert_to_normalized_rect(
    options: mp.tasks.vision.holistic_landmarker.image_processing_options_module.ImageProcessingOptions,
    image: mp.Image,
    roi_allowed: bool = True
) -> mp.tasks.components.containers.NormalizedRect
Converts from ImageProcessingOptions to NormalizedRect, performing sanity checks on-the-fly.
If the input ImageProcessingOptions is not present, returns a default
NormalizedRect covering the whole image with rotation set to 0. If
'roi_allowed' is false, an error will be returned if the input
ImageProcessingOptions has its 'region_of_interest' field set.
| Args | 
|---|
| options | Options for image processing. | 
| image | The image to process. | 
| roi_allowed | Indicates if the region_of_interestfield is allowed to be
set. By default, it's set to True. | 
| Returns | 
|---|
| A normalized rect proto that represents the image processing options. | 
create_from_model_path
View source
@classmethod
create_from_model_path(
    model_path: str
) -> 'InteractiveSegmenter'
Creates an InteractiveSegmenter object from a TensorFlow Lite model and the default InteractiveSegmenterOptions.
Note that the created InteractiveSegmenter instance is in image mode, for
performing image segmentation on single image inputs.
| Args | 
|---|
| model_path | Path to the model. | 
| Returns | 
|---|
| InteractiveSegmenterobject that's created from the model file and the
defaultInteractiveSegmenterOptions. | 
| Raises | 
|---|
| ValueError | If failed to create InteractiveSegmenterobject from the
provided file such as invalid file path. | 
| RuntimeError | If other types of error occurred. | 
create_from_options
View source
@classmethod
create_from_options(
    options: mp.tasks.vision.InteractiveSegmenterOptions
) -> 'InteractiveSegmenter'
Creates the InteractiveSegmenter object from interactive segmenter options.
| Args | 
|---|
| options | Options for the interactive segmenter task. | 
| Returns | 
|---|
| InteractiveSegmenterobject that's created fromoptions. | 
| Raises | 
|---|
| ValueError | If failed to create InteractiveSegmenterobject fromInteractiveSegmenterOptionssuch as missing the model. | 
| RuntimeError | If other types of error occurred. | 
get_graph_config
View source
get_graph_config() -> mp.calculators.core.constant_side_packet_calculator_pb2.mediapipe_dot_framework_dot_calculator__pb2.CalculatorGraphConfig
Returns the canonicalized CalculatorGraphConfig of the underlying graph.
segment
View source
segment(
    image: mp.Image,
    roi: mp.tasks.vision.InteractiveSegmenterRegionOfInterest,
    image_processing_options: Optional[mp.tasks.vision.holistic_landmarker.image_processing_options_module.ImageProcessingOptions] = None
) -> InteractiveSegmenterResult
Performs the actual segmentation task on the provided MediaPipe Image.
The image can be of any size with format RGB.
| Args | 
|---|
| image | MediaPipe Image. | 
| roi | Optional user-specified region of interest for segmentation. | 
| image_processing_options | Options for image processing. | 
| Returns | 
|---|
| If the output_type is CATEGORY_MASK, the returned vector of images is
per-category segmented image mask.
If the output_type is CONFIDENCE_MASK, the returned vector of images
contains only one confidence image mask. A segmentation result object that
contains a list of segmentation masks as images. | 
| Raises | 
|---|
| ValueError | If any of the input arguments is invalid. | 
| RuntimeError | If image segmentation failed to run. | 
__enter__
View source
__enter__()
Return self upon entering the runtime context.
__exit__
View source
__exit__(
    unused_exc_type, unused_exc_value, unused_traceback
)
Shuts down the mediapipe vision task instance on exit of the context manager.
| Raises | 
|---|
| RuntimeError | If the mediapipe vision task failed to close. |