import cv2 # 导入 OpenCV 库,用于图像处理 import mediapipe as mp # 导入 mediapipe 库,用于人体姿态估计等 import time # 导入时间库,用于计算帧率 cap = cv2.VideoCapture(0) # 打开摄像头,1 表示第二个摄像头(如果有多个) mpHands = mp.solutions.hands # 从 mediapipe 中获取手部检测的解决方案 hands = mpHands.Hands() # 创建一个 Hands 对象,用于手部检测 mpDraw = mp.solutions.drawing_utils # 用于绘制检测结果的工具 pTime = 0 # 初始化上一帧的时间 cTime = 0 # 初始化当前帧的时间 while True: # 进入无限循环,持续处理摄像头画面 success, img = cap.read() # 读取摄像头的一帧图像,success 表示是否成功读取 imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 将图像从 BGR 颜色空间转换为 RGB 颜色空间 results = hands.process(imgRGB) # 使用 mediapipe 的手部检测模型处理转换后的图像 print(results.multi_hand_landmarks) # 打印检测到的手部关键点 if results.multi_hand_landmarks: # 如果检测到了手部 # print(len(results.multi_hand_landmarks)) # 两只手会出来2 for handLms in results.multi_hand_landmarks: # 遍历每只检测到的手 for id, lm in enumerate(handLms.landmar
03-03
1695
