Mediapipe Python教程:根据文件夹图片生成人体骨骼角度数据集

本教程将指导您使用 Mediapipe 库和 Python,从存储在不同文件夹(每个文件夹代表一个特定动作)中的图片中提取人体骨骼角度数据,并生成包含动作标签的 .csv 数据集。

Python 代码实现pythonimport mediapipe as mpimport osimport csv

mp_drawing = mp.solutions.drawing_utilsmp_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()

代码说明:

  1. 导入必要的库:mediapipe, os, csv.2. 初始化 Mediapipe Pose 模型.3. 设置包含图片的文件夹路径.4. 遍历每个子文件夹 (代表一个动作).5. 为每个子文件夹创建一个 .csv 文件,用于存储该动作的骨骼角度数据.6. 遍历子文件夹中的每张图片.7. 使用 Mediapipe Pose 模型检测图片中的人体关键点.8. 如果检测到关键点: * 调用 calculate_angles 函数计算骨骼角度 (您需要根据具体需求实现此函数). * 将计算出的骨骼角度和对应的动作标签写入 .csv 文件.

注意: 您需要自行实现 calculate_angles 函数,该函数接受 Mediapipe Pose 关键点作为输入,并返回计算出的骨骼角度列表。

希望本教程能帮助您使用 Mediapipe 和 Python 生成人体骨骼角度数据集!

Mediapipe Python教程:根据文件夹图片生成人体骨骼角度数据集

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

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