對圖片執行圖片區隔。
請注意,除了標準區隔 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 建立。 |