ImageSegmenter

clase final pública ImageSegmenter

Realiza la segmentación de imágenes.

Ten en cuenta que, además de la API de segmentación estándar, ERROR(/segment) y ERROR(/segmentForVideo), que toman una imagen de entrada y muestran las salidas, pero involucran una copia profunda de los resultados, ImageSegmenter también admite la API de devolución de llamada ERROR(/segmentWithResultListener) y ERROR(/segmentForVideoWithResultListener), que te permiten acceder a las salidas a través de cero copia.

La API de devolución de llamada está disponible para todos los RunningMode en ImageSegmenter. Configura OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions de forma correcta para usar la API de devolución de llamada.

La API espera un modelo TFLite con metadatos del modelo TFLite.

  • Imagen de entrada MPImage
    • La imagen en la que se ejecuta el segmentador de imágenes.
  • ImageSegmenterResult de salida ImageSegmenterResult
    • Un ImageSegmenterResult que contiene máscaras segmentadas

Categorías anidadas

clase ImageSegmenter.ImageSegmenterOptions Opciones para configurar un ImageSegmenter
clase ImageSegmenter.SegmentationOptions Opciones para configurar el comportamiento del entorno de ejecución de ImageSegmenter

Métodos públicos

ImageSegmenter estático
createFromOptions(contexto de contexto, ImageSegmenter.ImageSegmenterOptions segmenterOptions)
Crea una instancia de ImageSegmenter a partir de un ImageSegmenter.ImageSegmenterOptions.
List<String>
getLabels()
Obtén la lista de etiquetas de categoría que el ImageSegmenter puede reconocer.
ImageSegmenterResult
segment(imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions)
Realiza la segmentación de imágenes en la imagen única proporcionada.
ImageSegmenterResult
segment(imagen MPImage, ImageProcessingOptions imageProcessingOptions)
Realiza la segmentación de imágenes en la imagen única proporcionada.
ImageSegmenterResult
segment(imagen MPImage)
Realiza la segmentación de imágenes en la imagen individual proporcionada con las opciones de procesamiento de imágenes predeterminadas, p.ej.,
void
segmentAsync(imagen MPImage, ImageProcessingOptions imageProcessingOptions, marcas de tiempo largas)
Envía datos de imágenes en vivo para realizar la segmentación de imágenes, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageSegmenter.ImageSegmenterOptions.
void
segmentAsync(imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions, timestampMs largo)
Envía datos de imágenes en vivo para realizar la segmentación de imágenes, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageSegmenter.ImageSegmenterOptions.
void
segmentAsync(imagen MPImage, timestampMs largo)
Envía datos de imágenes en vivo para realizar la segmentación de imágenes con opciones de procesamiento de imágenes predeterminadas, p.ej.,
ImageSegmenterResult
segmentForVideo(imagen MPImage, ImageProcessingOptions imageProcessingOptions, marcas de tiempo largas)
Realiza la segmentación de la imagen en el fotograma de video proporcionado.
ImageSegmenterResult
segmentForVideo(imagen MPImage, timestampMs largo)
Realiza la segmentación de imágenes en el fotograma de video proporcionado con opciones de procesamiento de imágenes predeterminadas, p.ej.,
ImageSegmenterResult
segmentForVideo(imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions, timestampMs largo)
Realiza la segmentación de la imagen en el fotograma de video proporcionado.
void
segmentForVideoWithResultListener(imagen MPImage, ImageProcessingOptions imageProcessingOptions, marcas de tiempo largas)
Realiza la segmentación de imágenes en el fotograma de video proporcionado y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions.
void
segmentForVideoWithResultListener(imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions, timestampMs largo)
Realiza la segmentación de imágenes en el fotograma de video proporcionado y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions.
void
segmentForVideoWithResultListener(imagen MPImage, timestampMs largo)
Realiza la segmentación de imágenes en el fotograma de video proporcionado con opciones de procesamiento de imágenes predeterminadas, p.ej.,
void
segmentWithResultListener(imagen MPImage, ImageProcessingOptions imageProcessingOptions)
Realiza la segmentación de imágenes en la imagen única proporcionada y proporciona resultados que se copiaron cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions.
void
segmentWithResultListener(imagen MPImage)
Realiza la segmentación de imágenes en la imagen individual proporcionada con las opciones de procesamiento de imágenes predeterminadas, p.ej.,
void
segmentWithResultListener(imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions)
Realiza la segmentación de imágenes en la imagen única proporcionada y proporciona resultados que se copiaron cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions.

Métodos heredados

Métodos públicos

público estático ImageSegmenter createFromOptions (Contexto de contexto, ImageSegmenter.ImageSegmenterOptions segmenterOptions)

Crea una instancia de ImageSegmenter a partir de un ImageSegmenter.ImageSegmenterOptions.

Parámetros
Contexto un ERROR(/Context) de Android
segmenterOptions una instancia de ImageSegmenter.ImageSegmenterOptions.
Arroja
Si se produce un error durante la creación de ImageSegmenter.

public List<String> getLabels ()

Obtén la lista de etiquetas de categoría que el ImageSegmenter puede reconocer. Para el tipo CATEGORY_MASK, el índice en la máscara de categoría corresponde a la categoría en la lista de etiquetas. Para el tipo CONFIDENCE_MASK, la lista de máscaras de salida en el índice corresponde a la categoría de la lista de etiquetas.

Si no se proporciona un labelmap en el archivo del modelo, se muestra una lista de etiquetas vacías.

public ImageSegmenterResult segment (MPImage imagen, ImageSegmenter.SegmentationOptions segmentationOptions)

Realiza la segmentación de imágenes en la imagen única proporcionada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE). TODO update java doc para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
segmentationOptions El ImageSegmenter.SegmentationOptions que se usa para configurar el comportamiento del entorno de ejecución de ImageSegmenter.
Arroja
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

public ImageSegmenterResult segment (MPImage imagen, ImageProcessingOptions imageProcessingOptions)

Realiza la segmentación de imágenes en la imagen única proporcionada. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE). Debes actualizar el documento Java (TODO) para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia. Ten en cuenta que la región de interés no es compatible con esta tarea: especificar ImageProcessingOptions.regionOfInterest() hará que este método arroje una IllegalArgumentException.
Arroja
IllegalArgumentException si ImageProcessingOptions especifica una región de interés.
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

público ImageSegmenterResult segment (MPImage imagen)

Realiza la segmentación de imágenes en la imagen individual proporcionada con las opciones de procesamiento de imagen predeterminadas, es decir, sin aplicar ninguna rotación. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE). Debes actualizar el documento Java (TODO) para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
Arroja
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

public void segmentAsync (imagen MPImage, ImageProcessingOptions imageProcessingOptions, marcas de tiempo largas)

Envía datos de imágenes en vivo para realizar la segmentación de imágenes, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.LIVE_STREAM).

Se debe proporcionar una marca de tiempo (en milisegundos) para indicar cuándo se envía la imagen de entrada al segmentador de imágenes. Las marcas de tiempo de entrada deben aumentar monótonamente.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia. Ten en cuenta que la región de interés no es compatible con esta tarea: especificar ImageProcessingOptions.regionOfInterest() hará que este método arroje una IllegalArgumentException.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
IllegalArgumentException si ImageProcessingOptions especifica una región de interés.
si se produce un error interno.

public void segmentAsync (imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions, long timestampMs)

Envía datos de imágenes en vivo para realizar la segmentación de imágenes, y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageSegmenter.ImageSegmenterOptions. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.LIVE_STREAM).

Se debe proporcionar una marca de tiempo (en milisegundos) para indicar cuándo se envía la imagen de entrada al segmentador de imágenes. Las marcas de tiempo de entrada deben aumentar monótonamente.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
segmentationOptions El ImageSegmenter.SegmentationOptions que se usa para configurar el comportamiento del entorno de ejecución de ImageSegmenter.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

public void segmentAsync (imagen MPImage, timestampMs largo)

Envía datos de imágenes en vivo para realizar la segmentación de imágenes con las opciones de procesamiento de imagen predeterminadas (es decir, sin ninguna rotación), y los resultados estarán disponibles a través del OutputHandler.ResultListener proporcionado en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.LIVE_STREAM).

Se debe proporcionar una marca de tiempo (en milisegundos) para indicar cuándo se envía la imagen de entrada al segmentador de imágenes. Las marcas de tiempo de entrada deben aumentar monótonamente.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno.

public ImageSegmenterResult segmentForVideo (MPImage imagen, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Realiza la segmentación de la imagen en el fotograma de video proporcionado. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia. Ten en cuenta que la región de interés no es compatible con esta tarea: especificar ImageProcessingOptions.regionOfInterest() hará que este método arroje una IllegalArgumentException.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
IllegalArgumentException si ImageProcessingOptions especifica una región de interés.
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

público ImageSegmenterResult segmentForVideo (MPImage imagen, timestampMs largo)

Realiza la segmentación de imágenes en el fotograma de video proporcionado con las opciones de procesamiento de imágenes predeterminadas, es decir, sin aplicar ninguna rotación. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

public ImageSegmenterResult segmentForVideo (MPImage imagen, ImageSegmenter.SegmentationOptions segmentationOptions, long timestampMs)

Realiza la segmentación de la imagen en el fotograma de video proporcionado. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
segmentationOptions El ImageSegmenter.SegmentationOptions que se usa para configurar el comportamiento del entorno de ejecución de ImageSegmenter.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno. O bien, si ImageSegmenter se crea con un OutputHandler.ResultListener.

public void segmentForVideoWithResultListener (imagen MPImage, ImageProcessingOptions imageProcessingOptions, marca de tiempo larga)

Realiza la segmentación de imágenes en el fotograma de video proporcionado y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
IllegalArgumentException si ImageProcessingOptions especifica una región de interés.
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.

public void segmentForVideoWithResultListener (Imagen MPImage, ImageSegmenter.SegmentationOptions segmentationOptions, long timestampMs)

Realiza la segmentación de imágenes en el fotograma de video proporcionado y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
segmentationOptions El ImageSegmenter.SegmentationOptions que se usa para configurar el comportamiento del entorno de ejecución de ImageSegmenter.
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.

public void segmentForVideoWithResultListener (imagen MPImage, timestampMs largo)

Realiza la segmentación de imágenes en el fotograma de video proporcionado con opciones de procesamiento de imagen predeterminadas (es decir, sin ninguna rotación) y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.VIDEO).

Es obligatorio proporcionar la marca de tiempo del fotograma del video (en milisegundos). Las marcas de tiempo de entrada deben aumentar de forma monótona.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
timestampMs la marca de tiempo de entrada (en milisegundos).
Arroja
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.

public void segmentWithResultListener (MPImage imagen, ImageProcessingOptions imageProcessingOptions)

Realiza la segmentación de imágenes en la imagen única proporcionada y proporciona resultados que se copiaron cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE).

Debes actualizar el documento Java (TODO) para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
imageProcessingOptions ImageProcessingOptions que especifica cómo procesar la imagen de entrada antes de ejecutar la inferencia. Ten en cuenta que la región de interés no es compatible con esta tarea: especificar ImageProcessingOptions.regionOfInterest() hará que este método arroje una IllegalArgumentException.
Arroja
IllegalArgumentException si ImageProcessingOptions especifica una región de interés.
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.

public void segmentWithResultListener (imagen MPImage)

Realiza la segmentación de imágenes en la imagen individual proporcionada con las opciones de procesamiento de imagen predeterminadas (es decir, sin ninguna rotación) y proporciona resultados que se copian cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. La máscara de salida tiene el mismo tamaño que la imagen de entrada. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE).

Debes actualizar el documento Java (TODO) para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
Arroja
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.

public void segmentWithResultListener (MPImage imagen, ImageSegmenter.SegmentationOptions segmentationOptions)

Realiza la segmentación de imágenes en la imagen única proporcionada y proporciona resultados que se copiaron cero a través de OutputHandler.ResultListener en ImageSegmenter.ImageSegmenterOptions. Usa este método solo cuando se cree el ImageSegmenter con ERROR(/RunningMode.IMAGE).

Debes actualizar el documento Java (TODO) para el formato de imagen de entrada.

ImageSegmenter admite los siguientes tipos de espacios de color:

Parámetros
imagen un objeto MPImage de MediaPipe para su procesamiento
segmentationOptions El ImageSegmenter.SegmentationOptions que se usa para configurar el comportamiento del entorno de ejecución de ImageSegmenter.
Arroja
si se produce un error interno. O bien, si ImageSegmenter no se crea con OutputHandler.ResultListener configurado en ImageSegmenter.ImageSegmenterOptions.