画像に対して手のランドマーク検出を行います。
この 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 | 入力タイムスタンプ(ミリ秒単位)。 |
例外
内部エラーが発生した場合。 |