ImageSegmenter

公開最終類別 ImageSegmenter

對圖片執行圖片區隔。

請注意,除了標準區隔 API (ERROR(/segment)ERROR(/segmentForVideo)) 以外,標準區隔 API 會擷取輸入圖片並傳回輸出內容,但牽涉到回傳的深度複本,ImageSegmenter 也支援回呼 API、ERROR(/segmentWithResultListener)ERROR(/segmentForVideoWithResultListener),可讓您透過零副本存取輸出內容。

回呼 API 適用於 ImageSegmenter 中的所有 RunningMode。在 ImageSegmenter.ImageSegmenterOptions 中正確設定 OutputHandler.ResultListener,以使用回呼 API。

API 預期會使用 TFLite 模型中繼資料的 TFLite 模型。

  • 輸入圖片 MPImage
    • 執行圖片區隔工具的圖片。
  • 輸出 ImageSegmenterResult ImageSegmenterResult
    • 含有區隔遮罩的 ImageSegmenterResult。

巢狀類別

類別 ImageSegmenter.ImageSegmenterOptions 設定 ImageSegmenter 的選項。 
類別 ImageSegmenter.SegmentationOptions 設定 ImageSegmenter 執行階段行為的選項。 

公用方法

static ImageSegmenter
清單<字串>
getLabels()
取得 ImageSegmenter 可辨識的類別標籤清單。
ImageSegmenterResult
segment(MPImage 圖片、ImageSegmenter.SegmentationOptions SegmentOptions)
針對提供的單一圖片執行圖片區隔。
ImageSegmenterResult
segment(MPImage 圖片、ImageProcessingOptions imageProcessingOptions)
針對提供的單一圖片執行圖片區隔。
ImageSegmenterResult
segment(MPImage 圖片)
以預設圖片處理選項 (即
void
segmentAsync(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
傳送即時圖片資料來執行圖片區隔,結果會透過 ImageSegmenter.ImageSegmenterOptions 中提供的 OutputHandler.ResultListener 取得結果。
void
segmentAsync(MPImage 圖片、ImageSegmenter.SegmentationOptions SegmentOptions、Long timestampM)
傳送即時圖片資料來執行圖片區隔,結果會透過 ImageSegmenter.ImageSegmenterOptions 中提供的 OutputHandler.ResultListener 取得結果。
void
segmentAsync(MPImage 圖片、長 timestampM)
傳送即時影像資料,以便以預設圖片處理選項 (即
ImageSegmenterResult
segmentForVideo(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
針對提供的影片影格執行圖片區隔。
ImageSegmenterResult
segmentForVideo(MPImage 圖片、長 timestampM)
以預設圖片處理選項 (即
ImageSegmenterResult
segmentForVideo(MPImage 圖片、ImageSegmenter.SegmentationOptions SegmentOptions、Long timestampM)
針對提供的影片影格執行圖片區隔。
void
segmentForVideoWithResultListener(MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampM)
對提供的影片影格執行圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製的結果。
void
segmentForVideoWithResultListener(MPImage 圖片、ImageSegmenter.SegmentationOptionsSegmentOptions、Long timestampM)
對提供的影片影格執行圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製的結果。
void
segmentForVideoWithResultListener(MPImage 圖片、長 timestampM)
以預設圖片處理選項 (即
void
segmentWithResultListener(MPImage 圖片、ImageProcessingOptions imageProcessingOptions)
對提供的單一圖片執行圖片區隔,並在 ImageSegmenter.ImageSegmenterOptions 中透過 OutputHandler.ResultListener 提供零複製的結果。
void
segmentWithResultListener(MPImage 圖片)
以預設圖片處理選項 (即
void
segmentWithResultListener(MPImage 圖片、ImageSegmenter.SegmentationOptions SegmentOptions)
對提供的單一圖片執行圖片區隔,並在 ImageSegmenter.ImageSegmenterOptions 中透過 OutputHandler.ResultListener 提供零複製的結果。

繼承的方法

公用方法

public static ImageSegmenter createFromOptions (內容結構定義、ImageSegmenter.ImageSegmenterOptionssegmenterOptions)

參數
context Android ERROR(/Context)
segmenterOptions ImageSegmenter.ImageSegmenterOptions 執行個體。
擲回
如果 ImageSegmenter 建立期間發生錯誤。

public List<String> getLabels ()

取得 ImageSegmenter 可辨識的類別標籤清單。如果是 CATEGORY_MASK 類型,類別遮罩中的索引會與標籤清單中的類別對應。針對 CONFIDENCE_MASK 類型,索引的輸出遮罩清單會與標籤清單中的類別對應。

如果模型檔案中未提供標籤對應,系統會傳回空白標籤清單。

public ImageSegmenterResult Segment (MPImage 圖片、ImageSegmenter.SegmentationOptionssegmentOptions)

針對提供的單一圖片執行圖片區隔。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才能使用這個方法。TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
segmentationOptions 用於設定 ImageSegmenter 執行階段行為的 ImageSegmenter.SegmentationOptions
擲回
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public ImageSegmenterResult 區段 (MPImage 圖片、ImageProcessingOptions imageProcessingOptions)

針對提供的單一圖片執行圖片區隔。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才能使用這個方法。TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions。請注意,這項工作「不」支援搜尋區域:指定 ImageProcessingOptions.regionOfInterest() 會導致這個方法擲回 IllegalArgumentException。
擲回
IllegalArgumentException 表示 ImageProcessingOptions 指定搜尋區域。
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public ImageSegmenterResult 區段 (MPImage 圖片)

使用預設圖片處理選項 (即不套用任何旋轉),對提供的單一圖片執行圖片區隔。輸出遮罩的大小與輸入圖片相同。請只在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才使用這個方法。TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
擲回
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public void segmentAsync (MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)

傳送即時圖片資料來執行圖片區隔,結果會透過 ImageSegmenter.ImageSegmenterOptions 中提供的 OutputHandler.ResultListener 取得結果。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至圖片區隔器的時間。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions。請注意,這項工作「不」支援搜尋區域:指定 ImageProcessingOptions.regionOfInterest() 會導致這個方法擲回 IllegalArgumentException。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
IllegalArgumentException 表示 ImageProcessingOptions 指定搜尋區域。

public void segmentAsync (MPImage image、ImageSegmenter.SegmentationOptionsSegmentOptions、long timestampMs)

傳送即時圖片資料來執行圖片區隔,結果會透過 ImageSegmenter.ImageSegmenterOptions 中提供的 OutputHandler.ResultListener 取得結果。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至圖片區隔器的時間。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
segmentationOptions 用於設定 ImageSegmenter 執行階段行為的 ImageSegmenter.SegmentationOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回

public void segmentAsync (MPImage image, long timestampM)

傳送即時圖片資料,以便使用預設圖片處理選項執行圖片區隔 (也就是不套用任何旋轉),並透過 ImageSegmenter.ImageSegmenterOptions 提供的 OutputHandler.ResultListener 取得結果。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.LIVE_STREAM) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供時間戳記 (以毫秒為單位),指出輸入圖片傳送至圖片區隔器的時間。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回

public ImageSegmenterResult segmentForVideo (MPImage image、ImageProcessingOptions imageProcessingOptions, long timestampMs)

針對提供的影片影格執行圖片區隔。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions。請注意,這項工作「不」支援搜尋區域:指定 ImageProcessingOptions.regionOfInterest() 會導致這個方法擲回 IllegalArgumentException。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
IllegalArgumentException 表示 ImageProcessingOptions 指定搜尋區域。
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public ImageSegmenterResult segmentForVideo (MPImage 圖片、長 timestampM)

以預設的圖片處理選項 (即不套用任何旋轉),對提供的影片影格執行圖片區隔。輸出遮罩的大小與輸入圖片相同。請只在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public ImageSegmenterResult segmentForVideo (MPImage image, ImageSegmenter.SegmentationOptionssegmentOptions, long timestampMs)

針對提供的影片影格執行圖片區隔。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
segmentationOptions 用於設定 ImageSegmenter 執行階段行為的 ImageSegmenter.SegmentationOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
。或者,如果 ImageSegmenter 使用 OutputHandler.ResultListener 建立。

public void segmentForVideoWithResultListener (MPImage 圖片、ImageProcessingOptions imageProcessingOptions、long timestampMs)

對提供的影片影格執行圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製的結果。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
IllegalArgumentException 表示 ImageProcessingOptions 指定搜尋區域。
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。

public void segmentForVideoWithResultListener (MPImage 圖片、ImageSegmenter.SegmentationOptionsSegmentOptions、long timestampMs)

對提供的影片影格執行圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製的結果。只有在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才能使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
segmentationOptions 用於設定 ImageSegmenter 執行階段行為的 ImageSegmenter.SegmentationOptions
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。

public void segmentForVideoWithResultListener (MPImage 圖片、長 timestampM)

以預設圖片處理選項 (即不套用任何旋轉) 指定的影片影格上執行圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製結果。輸出遮罩的大小與輸入圖片相同。請只在使用 ERROR(/RunningMode.VIDEO) 建立 ImageSegmenter 時,才使用這個方法。

您必須提供影片影格的時間戳記 (以毫秒為單位)。輸入時間戳記必須單純遞增。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
timestampMs 輸入時間戳記 (以毫秒為單位)。
擲回
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。

public void segmentWithResultListener (MPImage image、ImageProcessingOptions imageProcessingOptions)

對提供的單一圖片執行圖片區隔,並在 ImageSegmenter.ImageSegmenterOptions 中透過 OutputHandler.ResultListener 提供零複製的結果。輸出遮罩的大小與輸入圖片相同。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才能使用這個方法。

TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
imageProcessingOptions 用於指定在執行推論之前如何處理輸入圖片的 ImageProcessingOptions。請注意,這項工作「不」支援搜尋區域:指定 ImageProcessingOptions.regionOfInterest() 會導致這個方法擲回 IllegalArgumentException。
擲回
IllegalArgumentException 表示 ImageProcessingOptions 指定搜尋區域。
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。

public void segmentWithResultListener (MPImage 圖片)

使用預設圖片處理選項 (即未套用任何旋轉) 提供的圖片區隔,並透過 ImageSegmenter.ImageSegmenterOptions 中的 OutputHandler.ResultListener 提供零複製結果。輸出遮罩的大小與輸入圖片相同。請只在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才使用這個方法。

TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
擲回
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。

public void segmentWithResultListener (MPImage 圖片、ImageSegmenter.SegmentationOptionsSegmentOptions)

對提供的單一圖片執行圖片區隔,並在 ImageSegmenter.ImageSegmenterOptions 中透過 OutputHandler.ResultListener 提供零複製的結果。只有在使用 ERROR(/RunningMode.IMAGE) 建立 ImageSegmenter 時,才能使用這個方法。

TODO 為輸入圖片格式更新 Java 文件。

ImageSegmenter 支援下列色彩空間類型:

參數
圖片 要處理的 MediaPipe MPImage 物件。
segmentationOptions 用於設定 ImageSegmenter 執行階段行為的 ImageSegmenter.SegmentationOptions
擲回
。或者,如果 ImageSegmenter 不是使用 ImageSegmenter.ImageSegmenterOptions 中設定的 OutputHandler.ResultListener 建立。