比耶(V形手势)
特征:
- 食指和中指伸展,并且分开。
- 其余三指弯曲或靠近手掌。
算法:
- 计算食指指尖(I4)和中指指尖(M4)之间的距离。
- 确保这个距离大于一个阈值。
- 确保其余三指(T4、R4、P4)的指尖与手腕的距离小于一个阈值。
def is_v_sign(hand_landmarks, wrist_idx=0, threshold_fingers=50, threshold_v=50):
wrist = hand_landmarks[wrist_idx]
index_tip = hand_landmarks[8]
middle_tip = hand_landmarks[12]
distance_index_middle = np.linalg.norm(np.array(index_tip) - np.array(middle_tip))
if distance_index_middle < threshold_v:
return False
is_v_sign = True
for i in [4, 16, 20]: # Thumb, Ring, Pinky finger tips
fingertip = hand_landmarks[i]
distance = np.linalg.norm(np.array(fingertip) - np.array(wrist))
if distance > threshold_fingers:
is_v_sign = False
break
return is_v_sign