Internal change
PiperOrigin-RevId: 528996603
This commit is contained in:
parent
c698381e48
commit
1dea01aecc
|
@ -213,6 +213,7 @@ android_library(
|
|||
"handlandmarker/HandLandmark.java",
|
||||
"handlandmarker/HandLandmarker.java",
|
||||
"handlandmarker/HandLandmarkerResult.java",
|
||||
"handlandmarker/HandLandmarksConnections.java",
|
||||
],
|
||||
javacopts = [
|
||||
"-Xep:AndroidJdkLibsChecker:OFF",
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
// Copyright 2023 The MediaPipe Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.mediapipe.tasks.vision.handlandmarker;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/** Hand landmarks connection constants. */
|
||||
public final class HandLandmarksConnections {
|
||||
|
||||
/** Value class representing hand landmarks connection. */
|
||||
@AutoValue
|
||||
public abstract static class Connection {
|
||||
static Connection create(int start, int end) {
|
||||
return new AutoValue_HandLandmarksConnections_Connection(start, end);
|
||||
}
|
||||
|
||||
public abstract int start();
|
||||
|
||||
public abstract int end();
|
||||
}
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_PALM_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(0, 1),
|
||||
Connection.create(0, 5),
|
||||
Connection.create(9, 13),
|
||||
Connection.create(13, 17),
|
||||
Connection.create(5, 9),
|
||||
Connection.create(0, 17))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_THUMB_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(1, 2), Connection.create(2, 3), Connection.create(3, 4))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_INDEX_FINGER_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(5, 6), Connection.create(6, 7), Connection.create(7, 8))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_MIDDLE_FINGER_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(9, 10), Connection.create(10, 11), Connection.create(11, 12))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_RING_FINGER_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(13, 14),
|
||||
Connection.create(14, 15),
|
||||
Connection.create(15, 16))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_PINKY_FINGER_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
new HashSet<>(
|
||||
Arrays.asList(
|
||||
Connection.create(17, 18),
|
||||
Connection.create(18, 19),
|
||||
Connection.create(19, 20))));
|
||||
|
||||
@SuppressWarnings("ConstantCaseForConstants")
|
||||
public static final Set<Connection> HAND_CONNECTIONS =
|
||||
Collections.unmodifiableSet(
|
||||
Stream.of(
|
||||
HAND_PALM_CONNECTIONS.stream(),
|
||||
HAND_THUMB_CONNECTIONS.stream(),
|
||||
HAND_INDEX_FINGER_CONNECTIONS.stream(),
|
||||
HAND_MIDDLE_FINGER_CONNECTIONS.stream(),
|
||||
HAND_RING_FINGER_CONNECTIONS.stream(),
|
||||
HAND_PINKY_FINGER_CONNECTIONS.stream())
|
||||
.flatMap(i -> i)
|
||||
.collect(Collectors.toSet()));
|
||||
|
||||
private HandLandmarksConnections() {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user