Führt eine Bildsegmentierung auf Bildern durch.
Zusätzlich zur Standard-Segmentierungs-API ERROR(/segment)
und ERROR(/segmentForVideo)
, die ein Eingabebild aufnehmen und die Ausgaben zurückgeben, aber eine Deep-Kopie der Rückgaben umfasst, unterstützt ImageSegmenter auch die Callback-API ERROR(/segmentWithResultListener)
und ERROR(/segmentForVideoWithResultListener)
, mit denen Sie auf die Ausgaben ohne Kopie zugreifen können.
Die Callback API ist für alle RunningMode
in ImageSegmenter verfügbar. Lege OutputHandler.ResultListener
korrekt in ImageSegmenter.ImageSegmenterOptions
fest, um die Callback API zu verwenden.
Die API erwartet ein TFLite-Modell mit TFLite-Modellmetadaten.
- Eingabebild
MPImage
- Das Bild, auf dem das Bildsegmentrer ausgeführt wird.
- Ausgabe von ImageSegmenterResult
ImageSegmenterResult
- Ein ImageSegmenterResult , das segmentierte Masken enthält.
Verschachtelte Klassen
Klasse | ImageSegmenter.ImageSegmenterOptions | Optionen zum Einrichten eines ImageSegmenter -Objekts. |
|
Klasse | ImageSegmenter.SegmentationOptions | Optionen zum Konfigurieren des Laufzeitverhaltens von ImageSegmenter . |
Public Methods
Statisches ImageSegmenter |
createFromOptions(Context context, ImageSegmenter.ImageSegmenterOptions segmenterOptions)
Erstellt eine
ImageSegmenter -Instanz aus einer ImageSegmenter.ImageSegmenterOptions . |
List<String> |
getLabels()
Liste der Kategorielabels abrufen, die ImageSegmenter erkennen kann.
|
ImageSegmenterResult |
segment(MPImage-Bild, ImageSegmenter.SegmentationOptionssegmentierungOptions)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild durch.
|
ImageSegmenterResult |
segment(MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild durch.
|
ImageSegmenterResult | |
void |
segmentAsync(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Sendet Live-Bilddaten zur Bildsegmentierung. Die Ergebnisse sind über die
OutputHandler.ResultListener in der ImageSegmenter.ImageSegmenterOptions verfügbar. |
void |
segmentAsync(MPImage-Bild, ImageSegmenter.SegmentationOptionssegmentierungOptions, long timestampMs)
Sendet Live-Bilddaten zur Bildsegmentierung. Die Ergebnisse sind über die
OutputHandler.ResultListener in der ImageSegmenter.ImageSegmenterOptions verfügbar. |
void |
segmentAsync(MPImage-Bild, langer ZeitstempelMs)
Sendet Live-Bilddaten zur Bildsegmentierung mit Standard-Bildverarbeitungsoptionen wie
|
ImageSegmenterResult |
segmentForVideo(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch.
|
ImageSegmenterResult |
segmentForVideo(MPImage-Bild, langer ZeitstempelMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe mit Standard-Bildverarbeitungsoptionen durch,
z.B.
|
ImageSegmenterResult |
segmentForVideo(MPImage-Bild, ImageSegmenter.SegmentationOptions segmentOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch.
|
void |
segmentForVideoWithResultListener(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch und liefert über
OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions ohne Kopie kopierte Ergebnisse. |
void |
segmentForVideoWithResultListener(MPImage-Bild, ImageSegmenter.SegmentationOptions segmentOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch und liefert über
OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions ohne Kopie kopierte Ergebnisse. |
void |
segmentForVideoWithResultListener(MPImage-Bild, langer ZeitstempelMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe mit Standard-Bildverarbeitungsoptionen durch,
z.B.
|
void |
segmentWithResultListener(MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Bildsegmentierung für das bereitgestellte einzelne Bild durch und liefert null kopierte Ergebnisse über
OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions . |
void |
segmentWithResultListener(MPImage-Bild)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild mit Standardbildverarbeitungsoptionen durch, z.B.
|
void |
segmentWithResultListener(MPImage-Bild, ImageSegmenter.SegmentationOptions segmentOptions)
Führt eine Bildsegmentierung für das bereitgestellte einzelne Bild durch und liefert null kopierte Ergebnisse über
OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions . |
Übernommene Methoden
Public Methods
public static ImageSegmenter createFromOptions (Kontextkontext, ImageSegmenter.ImageSegmenterOptions segmenterOptions)
Erstellt eine ImageSegmenter
-Instanz aus einer ImageSegmenter.ImageSegmenterOptions
.
Parameter
context | ein Android-ERROR(/Context) . |
---|---|
segmenterOptions | Eine ImageSegmenter.ImageSegmenterOptions -Instanz. |
Löst aus
Wenn beim Erstellen von ImageSegmenter ein Fehler auftritt.
|
public List<String> getLabels ()
Liste der Kategorielabels abrufen, die ImageSegmenter erkennen kann. Beim Typ CATEGORY_MASK entspricht der Index in der Kategoriemaske der Kategorie in der Labelliste. Beim Typ CONFIDENCE_MASK entspricht die Liste der Ausgabemaske am Index der Kategorie in der Labelliste.
Wenn in der Modelldatei keine Labelmap bereitgestellt wird, wird eine leere Labelliste zurückgegeben.
public ImageSegmenterResult segment (MPImage-Image, ImageSegmenter.SegmentationOptions segmentOptions)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild durch. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird. TODO-Update der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
segmentationOptions | das ImageSegmenter.SegmentationOptions , mit dem das Laufzeitverhalten von ImageSegmenter konfiguriert wird. |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public ImageSegmenterResult Segment (MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild durch. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird. TODO-Aktualisierung der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
imageProcessingOptions | den ImageProcessingOptions , der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird. Beachten Sie, dass die Region von Interesse von dieser Aufgabe nicht unterstützt wird: Die Angabe von ImageProcessingOptions.regionOfInterest() führt dazu, dass diese Methode eine geschmeidige Ausnahme auslöst. |
Löst aus
IllegalArgumentException | wenn ImageProcessingOptions eine relevante Region angibt. |
---|---|
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public ImageSegmenterResult Segment (MPImage-Bild)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild mit Standard-Bildverarbeitungsoptionen durch, d.h. ohne Drehung. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird.
TODO-Aktualisierung der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public void segmentAsync (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Sendet Live-Bilddaten zur Bildsegmentierung. Die Ergebnisse sind über die OutputHandler.ResultListener
in der ImageSegmenter.ImageSegmenterOptions
verfügbar. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.LIVE_STREAM)
erstellt wird.
Es muss ein Zeitstempel (in Millisekunden) angegeben werden, um anzugeben, wann das Eingabebild an den Bildsegmentierer gesendet wird. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
imageProcessingOptions | den ImageProcessingOptions , der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird. Beachten Sie, dass die Region von Interesse von dieser Aufgabe nicht unterstützt wird: Die Angabe von ImageProcessingOptions.regionOfInterest() führt dazu, dass diese Methode eine geschmeidige Ausnahme auslöst. |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
IllegalArgumentException | wenn ImageProcessingOptions eine relevante Region angibt. |
---|---|
wenn ein interner Fehler vorliegt. |
public void segmentAsync (MPImage-Image, ImageSegmenter.SegmentationOptions segmentOptions, long timestampMs)
Sendet Live-Bilddaten zur Bildsegmentierung. Die Ergebnisse sind über die OutputHandler.ResultListener
in der ImageSegmenter.ImageSegmenterOptions
verfügbar. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.LIVE_STREAM)
erstellt wird.
Es muss ein Zeitstempel (in Millisekunden) angegeben werden, um anzugeben, wann das Eingabebild an den Bildsegmentierer gesendet wird. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
segmentationOptions | das ImageSegmenter.SegmentationOptions , mit dem das Laufzeitverhalten von ImageSegmenter konfiguriert wird. |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. |
public void segmentAsync (MPImage-Bild, long timestampMs)
Sendet Live-Bilddaten zur Bildsegmentierung mit Standard-Bildverarbeitungsoptionen, d. h. ohne Drehung. Die Ergebnisse sind über die OutputHandler.ResultListener
in der ImageSegmenter.ImageSegmenterOptions
verfügbar. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.LIVE_STREAM)
erstellt wird.
Es muss ein Zeitstempel (in Millisekunden) angegeben werden, um anzugeben, wann das Eingabebild an den Bildsegmentierer gesendet wird. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. |
public ImageSegmenterResult segmentForVideo (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, longtimestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
imageProcessingOptions | den ImageProcessingOptions , der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird. Beachten Sie, dass die Region von Interesse von dieser Aufgabe nicht unterstützt wird: Die Angabe von ImageProcessingOptions.regionOfInterest() führt dazu, dass diese Methode eine geschmeidige Ausnahme auslöst. |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
IllegalArgumentException | wenn ImageProcessingOptions eine relevante Region angibt. |
---|---|
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public ImageSegmenterResult segmentForVideo (MPImage-Bild, langer ZeitstempelMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe mit Standard-Bildverarbeitungsoptionen durch, d.h. ohne Drehung. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public ImageSegmenterResult segmentForVideo (MPImage-Bild, ImageSegmenter.SegmentationOptionssegmentierungOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
segmentationOptions | das ImageSegmenter.SegmentationOptions , mit dem das Laufzeitverhalten von ImageSegmenter konfiguriert wird. |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter mit einer OutputHandler.ResultListener erstellt wird.
|
public void segmentForVideoWithResultListener (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch und liefert über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
ohne Kopie kopierte Ergebnisse. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
imageProcessingOptions | |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
IllegalArgumentException | wenn ImageProcessingOptions eine relevante Region angibt. |
---|---|
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|
public void segmentForVideoWithResultListener (MPImage-Bild, ImageSegmenter.SegmentationOptions segmentOptions, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe durch und liefert über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
ohne Kopie kopierte Ergebnisse. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
segmentationOptions | das ImageSegmenter.SegmentationOptions , mit dem das Laufzeitverhalten von ImageSegmenter konfiguriert wird. |
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|
public void segmentForVideoWithResultListener (MPImage-Bild, long timestampMs)
Führt eine Bildsegmentierung für den bereitgestellten Videoframe mit Standard-Bildverarbeitungsoptionen durch, d.h. ohne Drehung, und liefert null kopierte Ergebnisse über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.VIDEO)
erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
timestampMs | den Eingabezeitstempel (in Millisekunden). |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|
public void segmentWithResultListener (MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Bildsegmentierung für das bereitgestellte einzelne Bild durch und liefert null kopierte Ergebnisse über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird.
TODO-Aktualisierung der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
imageProcessingOptions | den ImageProcessingOptions , der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird. Beachten Sie, dass die Region von Interesse von dieser Aufgabe nicht unterstützt wird: Die Angabe von ImageProcessingOptions.regionOfInterest() führt dazu, dass diese Methode eine geschmeidige Ausnahme auslöst. |
Löst aus
IllegalArgumentException | wenn ImageProcessingOptions eine relevante Region angibt. |
---|---|
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|
public void segmentWithResultListener (MPImage-Bild)
Führt eine Bildsegmentierung für das bereitgestellte Einzelbild mit Standard-Bildverarbeitungsoptionen (d.h. ohne Drehung) durch und liefert null kopierte Ergebnisse über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
. Die Ausgabemaske hat dieselbe Größe wie das Eingabebild. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird.
TODO-Aktualisierung der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|
public void segmentWithResultListener (MPImage-Bild, ImageSegmenter.SegmentationOptions segmentOptions)
Führt eine Bildsegmentierung für das bereitgestellte einzelne Bild durch und liefert null kopierte Ergebnisse über OutputHandler.ResultListener
in ImageSegmenter.ImageSegmenterOptions
. Verwenden Sie diese Methode nur, wenn das ImageSegmenter
mit ERROR(/RunningMode.IMAGE)
erstellt wird.
TODO-Aktualisierung der Java-Dokumentation für das Eingabebildformat.
ImageSegmenter
unterstützt die folgenden Farbraumtypen:
Parameter
Image | Ein MediaPipe-MPImage -Objekt zur Verarbeitung |
---|---|
segmentationOptions | das ImageSegmenter.SegmentationOptions , mit dem das Laufzeitverhalten von ImageSegmenter konfiguriert wird. |
Löst aus
wenn ein interner Fehler vorliegt. Oder wenn ImageSegmenter nicht mit OutputHandler.ResultListener in ImageSegmenter.ImageSegmenterOptions erstellt wurde.
|