实现:

import mediapipe as mp
import os
import csv

mp_drawing = mp.solutions.drawing_utils
mp_pose = mp.solutions.pose

# 设置文件夹路径
folder_path = "path/to/folder"

# 初始化pose模型
with mp_pose.Pose(min_detection_confidence=0.5, min_tracking_confidence=0.5) as pose:
    # 遍历文件夹
    for folder_name in os.listdir(folder_path):
        # 获取文件夹路径
        sub_folder_path = os.path.join(folder_path, folder_name)
        # 初始化csv文件
        csv_file_path = os.path.join(sub_folder_path, folder_name + ".csv")
        csv_file = open(csv_file_path, mode='w')
        csv_writer = csv.writer(csv_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
        # 遍历文件夹中的图片
        for image_name in os.listdir(sub_folder_path):
            # 获取图片路径
            image_path = os.path.join(sub_folder_path, image_name)
            # 读取图片
            image = mp.solutions.mediapipe.python.solutions.drawing_utils._read_image(image_path)
            # 运行pose模型
            results = pose.process(image)
            # 获取关键点
            keypoints = results.pose_landmarks
            if keypoints is not None:
                # 计算骨骼角度
                angles = calculate_angles(keypoints)
                # 将骨骼角度和动作标签写入csv文件
                csv_writer.writerow([angles, folder_name])
        # 关闭csv文件
        csv_file.close()

其中,calculate_angles函数用于计算骨骼角度,可以根据具体需求自行实现

mediapipe 根据文件夹的图片不同文件夹代表不同动作生成人体骨骼角度对应动作的数据集scv的python代码的

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

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