哈喽,大家好。
今天给大家用 Python 实现虚拟物品拖拽,先预告一下下次的主题:跟大家分享了用手势控制电脑音量~记得先关注我
下面,讲解下实现思路,并附上核心代码
1. 用opencv读取人手
需要大家安装opencv-python
,安装后执行以下代码,启动摄像头
cap = cv2.VideoCapture(0)
0
代表系统默认摄像头。
用 opencv
在视频流中创建方块
cv2.rectangle(overlay, (x, y), (x + self.rect_width, y + self.rect_width), (255, 0, 0), -1)
2. 获取食指坐标
使用medialpipe
识别人手
import mediapipe as mp
self.mp_drawing = mp.solutions.drawing_utils
# 识别手掌
results = hands.process(self.image)
for hand_landmarks in results.multi_hand_landmarks:
landmark_list = []
# 存储手掌关键点坐标
for landmark_id, finger_axis in enumerate(hand_landmarks.landmark):
landmark_list.append([landmark_id, finger_axis.x, finger_axis.y,finger_axis.z])
获取食指