mediapipe 根据文件夹的图片不同文件夹代表不同动作生成人体骨骼角度对应动作的数据集scv的python代码的
实现:
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函数用于计算骨骼角度,可以根据具体需求自行实现
原文地址: https://www.cveoy.top/t/topic/d7p1 著作权归作者所有。请勿转载和采集!