基于Opencv的mediapipe手势识别代码
立即下载
资源介绍:
基于Opencv的mediapipe手势识别代码,通过训练模型以达到实时视频识别或者静态图片目的。
本代码实现了0-9手势以及石头剪刀布的识别,可以通过修改dataset中的图片以训练自己想要识别的手势。同时可以通过修改指节的算法以达到更高的识别率。
具体使用方法以及修改方法可以见于我发的博客。
for finger_idx in [4,8,12,16]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+4]))
tips_distance.append(np.linalg.norm(hand_landmarks_np[20] - hand_landmarks_np[4]))
#五变量
for finger_idx in [4,8,12,16]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+4]))
for finger_idx in [4,8,12]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+12]))
tips_distance.append(np.linalg.norm(hand_landmarks_np[20] - hand_landmarks_np[4]))
#八变量
for finger_idx in [1, 5, 9, 13, 17]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[0]))
for finger_idx in [4, 8, 12, 16]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx + 4]))
tips_distance.append(np.linalg.norm(hand_landmarks_np[20] - hand_landmarks_np[4]))
# 十变量
for finger_idx in [1,5,9,13,17]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[0]))
for finger_idx in [4,8,12,16]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+4]))
for finger_idx in [4,8,12]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+8]))
for finger_idx in [4,8]:
tips_distance.append(np.linalg.norm(hand_landmarks_np[finger_idx] - hand_landmarks_np[finger_idx+12]))
tips_distance.append(np.linalg.norm(hand_landmarks_np[20] - hand_landmarks_np[4]))
#十五变量
资源文件列表:
gesture_detecor.zip 大约有3265个文件