画像に対して手のランドマーク検出を行います。
この API では、事前トレーニング済みの手のランドマーク モデルのアセット バンドルが必要です。
- 入力画像
MPImage- 手のランドマーク検出が実行される画像。
- 出力 HandLandscapeerResult
HandLandmarkerResult- 手のランドマークを含む HandLandscapeerResult。
ネストされたクラス
| クラス | HandLandmarker.HandLandmarkerOptions | HandLandmarker の設定オプション。 |
|
フィールド
| public static final Set<Connection> | HAND_CONNECTIONS | |
| public static final Set<Connection> | HAND_INDEX_FINGER_CONNECTIONS | |
| public static final Set<Connection> | HAND_MIDDLE_FINGER_CONNECTIONS | |
| public static final Set<Connection> | HAND_PALM_CONNECTIONS | |
| public static final Set<Connection> | HAND_PINKY_FINGER_CONNECTIONS | |
| public static final Set<Connection> | HAND_RING_FINGER_CONNECTIONS | |
| public static final Set<Connection> | HAND_THUMB_CONNECTIONS |
パブリック メソッド
継承されるメソッド
フィールド
パブリック メソッド
public static HandLandmarker createFromBuffer (コンテキスト コンテキスト、ByteBuffer modelBuffer)
モデルバッファとデフォルトの HandLandmarker.HandLandmarkerOptions から HandLandmarker インスタンスを作成します。
パラメータ
| コンテキスト | Android ERROR(/Context)。 |
|---|---|
| modelBuffer | 検出モデルの直接の ByteBuffer または ERROR(/MappedByteBuffer)。 |
例外
HandLandmarker の作成中にエラーが発生した場合。 |
public static HandLandmarker createFromFile (コンテキスト コンテキスト、String modelPath)
モデルファイルとデフォルトの HandLandmarker.HandLandmarkerOptions から HandLandmarker インスタンスを作成します。
パラメータ
| コンテキスト | Android ERROR(/Context)。 |
|---|---|
| modelPath | アセットにメタデータを含む手のランドマーク モデルへのパス。 |
例外
HandLandmarker の作成中にエラーが発生した場合。 |
public static HandLandmarker createFromFile (コンテキスト コンテキスト、File modelFile)
モデルファイルとデフォルトの HandLandmarker.HandLandmarkerOptions から HandLandmarker インスタンスを作成します。
パラメータ
| コンテキスト | Android ERROR(/Context)。 |
|---|---|
| modelFile | 手のランドマーク モデルの File インスタンス。 |
例外
| IOException | tflite モデルファイルを開くときに I/O エラーが発生した場合 |
|---|---|
HandLandmarker の作成中にエラーが発生した場合。 |
public static HandLandmarker createFromOptions (コンテキスト コンテキスト、HandLandmarker.HandLandmarkerOptions percentageerOptions)
HandLandmarker.HandLandmarkerOptions から HandLandmarker インスタンスを作成します。
パラメータ
| コンテキスト | Android ERROR(/Context)。 |
|---|---|
| landmarkerOptions | HandLandmarker.HandLandmarkerOptions インスタンス。 |
例外
HandLandmarker の作成中にエラーが発生した場合。 |
public HandLandmarkerResult detect (MPImage image)
指定された 1 つの画像に対して、デフォルトの画像処理オプションを使用して(つまり、回転を適用せずに)手のランドマーク検出を行います。このメソッドは、HandLandmarker が ERROR(/RunningMode.IMAGE) で作成された場合にのみ使用します。入力画像形式の Java ドキュメントを更新する。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|
例外
| 内部エラーが発生した場合。 |
public HandLandmarkerResult detect (MPImage image, ImageProcessingOptions imageProcessingOptions)
指定された 1 つの画像に対して手のランドマーク検出を行います。このメソッドは、HandLandmarker が ERROR(/RunningMode.IMAGE) で作成された場合にのみ使用します。TODO: 入力画像形式の Java ドキュメントを更新します。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|---|
| imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
例外
| IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
|---|---|
| 内部エラーが発生した場合。 |
public void detectAsync (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)
ライブ画像データを送信して手のランドマーク検出を行います。結果は HandLandmarker.HandLandmarkerOptions で提供される OutputHandler.ResultListener で取得できます。このメソッドは、HandLandmarker が ERROR(/RunningMode.LIVE_STREAM) で作成された場合にのみ使用します。
入力画像が手のランドマーク者にいつ送信されたかを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|---|
| imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
| timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
| IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
|---|---|
| 内部エラーが発生した場合。 |
public void detectAsync (MPImage image, long timestampMs)
ライブ画像データを送信して、デフォルトの画像処理オプション(回転は適用しない)で手のランドマーク検出を行います。結果は HandLandmarker.HandLandmarkerOptions で提供される OutputHandler.ResultListener を通じて取得できます。このメソッドは、HandLandmarker が ERROR(/RunningMode.LIVE_STREAM) で作成された場合にのみ使用します。
入力画像が手のランドマーク者にいつ送信されたかを示すタイムスタンプ(ミリ秒単位)を指定する必要があります。入力タイムスタンプは単調に増加している必要があります。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|---|
| timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
| 内部エラーが発生した場合。 |
public HandLandmarkerResult detectForVideo (MPImage image, ImageProcessingOptions imageProcessingOptions, long timestampMs)
指定された動画フレームで手のランドマーク検出を行います。このメソッドは、HandLandmarker が ERROR(/RunningMode.VIDEO) で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|---|
| imageProcessingOptions | 推論を実行する前に入力画像を処理する方法を指定する ImageProcessingOptions。このタスクでは、関心領域はサポートされていません。ImageProcessingOptions.regionOfInterest() を指定すると、このメソッドは IllegalArgumentException をスローします。 |
| timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
| IllegalArgumentException | ImageProcessingOptions が関心のある地域を指定している場合。 |
|---|---|
| 内部エラーが発生した場合。 |
public HandLandmarkerResult detectForVideo (MPImage image, long timestampMs)
指定された動画フレームに対して、デフォルトの画像処理オプションを使用して(つまり、回転を適用せずに)手のランドマーク検出を行います。このメソッドは、HandLandmarker が ERROR(/RunningMode.VIDEO) で作成された場合にのみ使用します。
動画フレームのタイムスタンプ(ミリ秒単位)を提供する必要があります。入力タイムスタンプは単調に増加している必要があります。
HandLandmarker は、次の色空間タイプをサポートしています。
パラメータ
| イメージ | 処理する MediaPipe MPImage オブジェクト。 |
|---|---|
| timestampMs | 入力タイムスタンプ(ミリ秒単位)。 |
例外
| 内部エラーが発生した場合。 |