Untitled
unknown
plain_text
a month ago
2.5 kB
1
Indexable
Never
import cv2 import mediapipe as mp import time import os # Initialize MediaPipe Pose mpDraw = mp.solutions.drawing_utils mpPose = mp.solutions.pose pose = mpPose.Pose() # Function to process an image def process_image(image_path): img = cv2.imread(image_path) imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) results = pose.process(imgRGB) if results.pose_landmarks: mpDraw.draw_landmarks(img, results.pose_landmarks, mpPose.POSE_CONNECTIONS) for id, lm in enumerate(results.pose_landmarks.landmark): h, w, c = img.shape cx, cy = int(lm.x * w), int(lm.y * h) cv2.circle(img, (cx, cy), 5, (255, 0, 0), cv2.FILLED) cv2.imshow("Image", img) cv2.waitKey(0) cv2.destroyAllWindows() # Function to process a video def process_video(video_path): cap = cv2.VideoCapture(video_path) pTime = 0 while True: success, img = cap.read() if not success: break imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) results = pose.process(imgRGB) if results.pose_landmarks: mpDraw.draw_landmarks(img, results.pose_landmarks, mpPose.POSE_CONNECTIONS) for id, lm in enumerate(results.pose_landmarks.landmark): h, w, c = img.shape cx, cy = int(lm.x * w), int(lm.y * h) cv2.circle(img, (cx, cy), 5, (255, 0, 0), cv2.FILLED) cTime = time.time() fps = 1 / (cTime - pTime) pTime = cTime cv2.putText(img, str(int(fps)), (70, 50), cv2.FONT_HERSHEY_PLAIN, 3, (255, 0, 0), 3) cv2.imshow("Video", img) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() # Main function to choose between image and video processing def main(input_path): if os.path.isfile(input_path): if input_path.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff', '.gif')): print("Processing image...") process_image(input_path) elif input_path.lower().endswith(('.mp4', '.avi', '.mov', '.mkv')): print("Processing video...") process_video(input_path) else: print("Unsupported file format!") else: print("File not found!") input_file_path = 'Pose Images/Luke 5LP.png' main(input_file_path)
Leave a Comment