家庭健身智能推荐与姿态监测系统 前言 此项目依赖于 Python3.8
功能 为了给运动者提供一种更加科学、更加精准的个性化运动方案,设计实现了一个家庭健身智能推荐及姿态监测系统。
系统根据已检测个体的身体指标,为其推荐个性化健身方案;通过动态采集肢体关节的运动数据值,将采集到的肢体关节的运动数据值与预设的肢体关节的运动数据域值进行实时比较,若超出预设的域值范围,则进行提示,以达到保持正确姿态的需求,从而实现对人体运动姿势的监测和报警等功能。
运行程序之后,会调用摄像头,录制您的运动视频,接着在再对视频的姿态进行分析从而判断您的运动姿态是否标准。
第三方库 1 2 3 4 5 6 PIL version == 8.4.0 pygame version == 2.0.2 eyed3 version == 0.9.6 python-opencv version == 4.5.5 mediapipe version == 0.8.9.1 numpy version == 1.21.4
目录 main.py
dispose.py
voice.py
camera.py
hand_test.py
部分代码展示 camera.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import cv2def videocapture (): cap = cv2.VideoCapture(0 ) width = int (cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int (cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fps = cap.get(cv2.CAP_PROP_FPS) fourcc = int (cap.get(cv2.CAP_PROP_FOURCC)) writer = cv2.VideoWriter("./video_result.mp4" , fourcc, fps, (width, height)) while cap.isOpened(): ret, frame = cap.read() cv2.imshow('teswell' , frame) key = cv2.waitKey(24 ) '''转化为灰度图像进行处理''' writer.write(frame) if key == ord ('q' ): break cap.release() cv2.destroyAllWindows()
dispose.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 import osimport cv2import mediapipe as mpimport timeimport osos.environ["CUDA_VISIBLE_DEVICES" ] = "0" def fun (): mp_drawing = mp.solutions.drawing_utils DrawingSpec_point = mp_drawing.DrawingSpec((0 , 255 , 0 ), 1 , 1 ) DrawingSpec_line = mp_drawing.DrawingSpec((173 ,255 ,47 ), 1 , 1 ) mp_holistic = mp.solutions.holistic holistic = mp_holistic.Holistic(min_detection_confidence=0.5 , min_tracking_confidence=0.5 ) cap = cv2.VideoCapture('./video_result.mp4' ) while cap.isOpened(): success, image = cap.read() if not success: print ("Ignoring empty camera frame." ) break image1 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) results = holistic.process(image1) ''' mp_holistic.PoseLandmark类中共33个人体骨骼点 mp_holistic.HandLandmark类中共21个手部关键点 脸部有468个关键点 ''' def analysic (): fun() holistic.close() cv2.destroyAllWindows() cap.release()
项目成果
说明 为了知识产权,本项目的代码和资源文件不完整。
语音包换成一个无实际意义的语音
本项目dispose.py
和hand_test.py
删除了核心代码,无法完成核心功能。