画像に対して画像セグメンテーションを実行します。
ImageSegmenter は、入力画像を受け取って出力を返すものの、戻り値のディープコピーを必要とする標準のセグメンテーション API ERROR(/segment)
と ERROR(/segmentForVideo)
に加えて、コールバック API ERROR(/segmentWithResultListener)
と ERROR(/segmentForVideoWithResultListener)
もサポートしています。これにより、ゼロコピーで出力にアクセスできます。
コールバック API は、ImageSegmenter のすべての RunningMode
で使用できます。コールバック API を使用するように、ImageSegmenter.ImageSegmenterOptions
で OutputHandler.ResultListener
を適切に設定します。
API は、TFLite モデル メタデータを含む TFLite モデルを想定しています。
- 入力画像
MPImage
- 画像セグメンタが実行される画像。
- 出力 ImageSegmenterResult
ImageSegmenterResult
- セグメント化されたマスクを含む ImageSegmenterResult。
ネストされたクラス
クラス | ImageSegmenter.ImageSegmenterOptions | ImageSegmenter の設定オプション。 |
|
クラス | ImageSegmenter.SegmentationOptions | ImageSegmenter のランタイムの動作を構成するオプション。 |
パブリック メソッド
継承されるメソッド
パブリック メソッド
public static ImageSegmenter createFromOptions (コンテキスト コンテキスト、ImageSegmenter.ImageSegmenterOptionssegmenterOptions)
ImageSegmenter.ImageSegmenterOptions
から ImageSegmenter
インスタンスを作成します。
パラメータ
コンテキスト | Android ERROR(/Context) 。 |
---|---|
segmenterOptions | ImageSegmenter.ImageSegmenterOptions インスタンス。 |
例外
ImageSegmenter の作成中にエラーが発生した場合。 |
public List<String> getLabels ()
ImageSegmenter が認識できるカテゴリラベル リストを取得します。CATEGORY_MASK タイプの場合、カテゴリマスクのインデックスはラベルリスト内のカテゴリに対応します。CONFIDENCE_MASK 型の場合、インデックスの出力マスクリストはラベルリスト内のカテゴリに対応します。
モデルファイルに labelmap が指定されていない場合は、空のラベルリストが返されます。
public ImageSegmenterResult segment (MPImage image, ImageSegmenter.SegmentationOptions segmentationOptions)
指定された 1 つの画像に対して画像セグメンテーションを実行します。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。入力画像形式の Java ドキュメントを更新する。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
segmentationOptions | ImageSegmenter のランタイムの動作を構成するために使用される ImageSegmenter.SegmentationOptions 。 |
例外
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public ImageSegmenterResult segment (MPImage image, ImageProcessingOptions imageProcessingOptions)
指定された 1 つの画像に対して画像セグメンテーションを実行します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。入力画像形式の Java ドキュメントを更新。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions 。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
例外
IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
---|---|
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public ImageSegmenterResult segment (MPImage 画像)
指定された 1 つの画像に対して、デフォルトの画像処理オプションを使用して(つまり、回転を適用せずに)画像セグメンテーションを実行します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。入力画像形式の Java ドキュメントを更新。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|
例外
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public void segmentAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)
ライブ画像データを送信して画像セグメンテーションを実行します。結果は ImageSegmenter.ImageSegmenterOptions
で指定される OutputHandler.ResultListener
を介して取得できます。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.LIVE_STREAM)
で作成された場合にのみ使用します。
入力画像が画像セグメンタにいつ送信されたかを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions 。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
---|---|
内部エラーが発生した場合。 |
public void segmentAsync (MPImage image, ImageSegmenter.SegmentationOptionssegmentationOptions, long timestampMs)
ライブ画像データを送信して画像セグメンテーションを実行します。結果は ImageSegmenter.ImageSegmenterOptions
で指定される OutputHandler.ResultListener
を介して取得できます。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.LIVE_STREAM)
で作成された場合にのみ使用します。
入力画像が画像セグメンタにいつ送信されたかを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
segmentationOptions | ImageSegmenter のランタイムの動作を構成するために使用される ImageSegmenter.SegmentationOptions 。 |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。 |
public void segmentAsync (MPImage image, long timestampMs)
ライブ画像データを送信して、デフォルトの画像処理オプション(回転を適用しない)で画像セグメンテーションを実行します。結果は ImageSegmenter.ImageSegmenterOptions
で提供される OutputHandler.ResultListener
を介して取得できます。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.LIVE_STREAM)
で作成された場合にのみ使用します。
入力画像が画像セグメンタにいつ送信されたかを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。 |
public ImageSegmenterResult segmentForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)
指定された動画フレームで画像セグメンテーションを実行します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions 。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
---|---|
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public ImageSegmenterResult segmentForVideo (MPImage image, long timestampMs)
指定された動画フレームに対して、デフォルトの画像処理オプションを使用して(回転を適用せずに)画像セグメンテーションを実行します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public ImageSegmenterResult segmentForVideo (MPImage image, ImageSegmenter.SegmentationOptions segmentationOptions, long timestampMs)
指定された動画フレームで画像セグメンテーションを実行します。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
segmentationOptions | ImageSegmenter のランタイムの動作を構成するために使用される ImageSegmenter.SegmentationOptions 。 |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。または、ImageSegmenter が OutputHandler.ResultListener で作成された場合です。 |
public void segmentForVideoWithResultListener (MPImage イメージ、ImageProcessingOptions imageProcessingOptions、long timestampMs)
指定された動画フレームに対して画像セグメンテーションを実行し、ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介してゼロコピーされた結果を提供します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
imageProcessingOptions | |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
---|---|
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |
public void segmentForVideoWithResultListener (MPImage イメージ、ImageSegmenter.SegmentationOptionssegmentationOptions、long timestampMs)
指定された動画フレームに対して画像セグメンテーションを実行し、ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介してゼロコピーされた結果を提供します。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
segmentationOptions | ImageSegmenter のランタイムの動作を構成するために使用される ImageSegmenter.SegmentationOptions 。 |
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |
public void segmentForVideoWithResultListener (MPImage image, long timestampMs)
指定された動画フレームに対して、デフォルトの画像処理オプション(回転は適用しない)で画像セグメンテーションを実行します。ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介して、ゼロコピーされた結果を提供します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.VIDEO)
で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |
public void segmentWithResultListener (MPImage イメージ、ImageProcessingOptions imageProcessingOptions)
指定された単一の画像に対して画像セグメンテーションを実行し、ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介してゼロコピーされた結果を提供します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。
入力画像形式の Java ドキュメントを更新。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions 。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
例外
IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
---|---|
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |
public void segmentWithResultListener (MPImage 画像)
指定された 1 つの画像に対して、デフォルトの画像処理オプション(回転は適用しない)で画像セグメンテーションを実行します。また、ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介して、ゼロコピーされた結果を提供します。出力マスクは入力画像と同じサイズになります。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。
入力画像形式の Java ドキュメントを更新。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|
例外
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |
public void segmentWithResultListener (MPImage 画像、ImageSegmenter.SegmentationOptionssegmentationOptions)
指定された単一の画像に対して画像セグメンテーションを実行し、ImageSegmenter.ImageSegmenterOptions
の OutputHandler.ResultListener
を介してゼロコピーされた結果を提供します。このメソッドは、ImageSegmenter
が ERROR(/RunningMode.IMAGE)
で作成された場合にのみ使用します。
入力画像形式の Java ドキュメントを更新。
ImageSegmenter
は、次の色空間タイプをサポートしています。
パラメータ
イメージ | 処理する MediaPipe MPImage オブジェクト。 |
---|---|
segmentationOptions | ImageSegmenter のランタイムの動作を構成するために使用される ImageSegmenter.SegmentationOptions 。 |
例外
内部エラーが発生した場合。または、ImageSegmenter.ImageSegmenterOptions で OutputHandler.ResultListener を設定して ImageSegmenter が作成されていない場合。 |