Untitled
unknown
plain_text
a year ago
2.5 kB
8
Indexable
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)
Editor is loading...
Leave a Comment