arshtech commited on
Commit
f838156
·
verified ·
1 Parent(s): cdee45c

Create gesture_logic.py

Browse files
Files changed (1) hide show
  1. gesture_logic.py +25 -0
gesture_logic.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def get_finger_states(hand_landmarks):
2
+ """
3
+ Returns a list like [1, 1, 0, 0, 1]
4
+ thumb, index, middle, ring, pinky
5
+ """
6
+
7
+ finger_tips = [4, 8, 12, 16, 20]
8
+ finger_bases = [2, 6, 10, 14, 18]
9
+
10
+ states = []
11
+
12
+ # Thumb (special case)
13
+ if hand_landmarks.landmark[4].x > hand_landmarks.landmark[3].x:
14
+ states.append(1)
15
+ else:
16
+ states.append(0)
17
+
18
+ # Other fingers
19
+ for tip, base in zip(finger_tips[1:], finger_bases[1:]):
20
+ if hand_landmarks.landmark[tip].y < hand_landmarks.landmark[base].y:
21
+ states.append(1)
22
+ else:
23
+ states.append(0)
24
+
25
+ return states