动作图片骨骼角度提取与保存:使用Mediapipe和Python实现
-
首先,我们需要导入所需的库,包括mediapipe、cv2和pandas等库。mediapipe是一个开源的机器学习框架,可以用于姿势检测和跟踪等任务。cv2是一个用于计算机视觉的开源库,可以用于图像处理和分析等任务。pandas是一个用于数据分析和处理的Python库,可以方便地处理和保存数据。
-
接下来,我们定义一个保存骨骼角度的函数,用于将角度列表保存为csv文件。该函数需要传入角度列表和文件名作为参数,并使用pandas库将角度列表保存为csv文件。
-
然后,我们需要初始化mediapipe,包括导入姿势检测和绘图库。这可以通过以下代码实现:
import mediapipe as mp mp_drawing = mp.solutions.drawing_utils mp_pose = mp.solutions.pose -
接下来,我们需要遍历不同动作的文件夹,依次处理每个动作的图片。这可以通过使用Python的os库来实现。
-
对于每张图片,我们需要读取图片,并将图片转换为RGB格式。这可以通过使用cv2库来实现。
-
然后,我们需要处理图片,提取骨骼关键点。这可以通过使用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 -
接下来,我们需要计算骨骼角度。具体来说,我们需要计算腿与右手的角度、左臀、左膝和左踝的角度、右臀、右膝和右踝的角度、右肩、右肘和右手腕的角度、左肩、左肘和左手腕的角度、左髋、左膝和左踝的角度、腰部、左髋和左肩的角度、右髋、右膝和右踝的角度、腰部、右髋和右肩的角度、鼻子、右肩和右手腕的角度。这可以通过计算各个关键点之间的夹角来实现。
-
将角度添加到角度列表中。这可以通过使用Python的列表来实现。
-
对于每张图片,重复步骤5-8,直到所有图片都被处理完毕。
-
对于每个动作,重复步骤4-9,直到所有动作的图片都被处理完毕。
-
将角度列表保存为csv文件。这可以通过使用我们在步骤2中定义的函数来实现。
-
完成所有动作图片的处理后,程序结束。
原文地址: https://www.cveoy.top/t/topic/gQ29 著作权归作者所有。请勿转载和采集!