1. 首先,我们需要导入所需的库,包括mediapipe、cv2和pandas等库。mediapipe是一个开源的机器学习框架,可以用于姿势检测和跟踪等任务。cv2是一个用于计算机视觉的开源库,可以用于图像处理和分析等任务。pandas是一个用于数据分析和处理的Python库,可以方便地处理和保存数据。

  2. 接下来,我们定义一个保存骨骼角度的函数,用于将角度列表保存为csv文件。该函数需要传入角度列表和文件名作为参数,并使用pandas库将角度列表保存为csv文件。

  3. 然后,我们需要初始化mediapipe,包括导入姿势检测和绘图库。这可以通过以下代码实现:

    import mediapipe as mp
    mp_drawing = mp.solutions.drawing_utils
    mp_pose = mp.solutions.pose
    
  4. 接下来,我们需要遍历不同动作的文件夹,依次处理每个动作的图片。这可以通过使用Python的os库来实现。

  5. 对于每张图片,我们需要读取图片,并将图片转换为RGB格式。这可以通过使用cv2库来实现。

  6. 然后,我们需要处理图片,提取骨骼关键点。这可以通过使用mediapipe的姿势检测库来实现,如下所示:

    with mp_pose.Pose(min_detection_confidence=0.5, min_tracking_confidence=0.5) as pose:
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        results = pose.process(image)
        landmarks = results.pose_landmarks
    
  7. 接下来,我们需要计算骨骼角度。具体来说,我们需要计算腿与右手的角度、左臀、左膝和左踝的角度、右臀、右膝和右踝的角度、右肩、右肘和右手腕的角度、左肩、左肘和左手腕的角度、左髋、左膝和左踝的角度、腰部、左髋和左肩的角度、右髋、右膝和右踝的角度、腰部、右髋和右肩的角度、鼻子、右肩和右手腕的角度。这可以通过计算各个关键点之间的夹角来实现。

  8. 将角度添加到角度列表中。这可以通过使用Python的列表来实现。

  9. 对于每张图片,重复步骤5-8,直到所有图片都被处理完毕。

  10. 对于每个动作,重复步骤4-9,直到所有动作的图片都被处理完毕。

  11. 将角度列表保存为csv文件。这可以通过使用我们在步骤2中定义的函数来实现。

  12. 完成所有动作图片的处理后,程序结束。

动作图片骨骼角度提取与保存:使用Mediapipe和Python实现

原文地址: https://www.cveoy.top/t/topic/gQ29 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录