對圖片執行圖片區隔。
請注意,除了標準區隔 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 執行階段行為的選項。 |
|
公用方法
繼承的方法
公用方法
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 建立。 |