Spaces:
Build error
Build error
| import cv2 | |
| import numpy as np | |
| import mediapipe as mp | |
| import pandas as pd | |
| import os | |
| mp_pose = mp.solutions.pose | |
| pose = mp_pose.Pose(static_image_mode=True, min_detection_confidence=0.3, model_complexity=2) | |
| mp_drawing = mp.solutions.drawing_utils | |
| path = 'data/sun_salutation_poses/test/' | |
| points = mp_pose.PoseLandmark | |
| columns = [f"{mp_pose.PoseLandmark(point).name}_{axis}" for point in points for axis in ["x", "y", "z", "vis"]] | |
| columns.append('class') | |
| data = pd.DataFrame(columns=columns) | |
| count = 0 | |
| for dir_name in os.listdir(path): | |
| label_dir = os.path.join(path, dir_name) | |
| class_label = dir_name | |
| if not os.path.isdir(label_dir): | |
| continue | |
| for img_name in os.listdir(label_dir): | |
| img_path = os.path.join(label_dir, img_name) | |
| if not (img_name.endswith('.jpg') or img_name.endswith('.jpeg') or img_name.endswith('.png')): | |
| continue | |
| try: | |
| img = cv2.imread(img_path) | |
| img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) | |
| results = pose.process(img_rgb) | |
| if results.pose_landmarks: | |
| landmarks = results.pose_landmarks.landmark | |
| row = [] | |
| for landmark in landmarks: | |
| row.extend([landmark.x, landmark.y, landmark.z, landmark.visibility]) | |
| row.append(class_label) | |
| data.loc[count] = row | |
| count += 1 | |
| except Exception as e: | |
| print(f"Error processing image {img_name} in {dir_name}: {e}") | |
| continue | |
| data.to_csv('data/test.csv', index=False) |