from video_to_photo import run import os import advice def classify_jump(name,re): q="./capture_image/"+name qqq=os.path.abspath(q) result={} result["jump_power"]={} if(float(re["1"]["val"])>140.0): result["jump_power"]["level"]=1 elif (float(re["1"]["val"])>115.0): result["jump_power"]["level"]=2 elif (float(re["1"]["val"])>90.0): result["jump_power"]["level"]=3 else: result["jump_power"]["level"]=4 r="capture_image"+str(re["1"]["num"])+".png" a=os.path.join(qqq,r) result["jump_power"]["path"]=a result["jump_power"]["val"]=re["1"]["val"] result["core_strength"]={} if(float(re["2"]["val"])<8.0): result["core_strength"]["level"]=1 elif (float(re["2"]["val"])<15.0): result["core_strength"]["level"]=2 elif (float(re["2"]["val"])<30.0): result["core_strength"]["level"]=3 else: result["core_strength"]["level"]=4 r="capture_image"+str(re["2"]["num"])+".png" a=os.path.join(qqq,r) result["core_strength"]["path"]=a result["landing_position"]={} if(float(re["3"]["val"])>140.0): result["landing_position"]["level"]=1 elif (float(re["3"]["val"])>115.0): result["landing_position"]["level"]=2 elif (float(re["3"]["val"])>90.0): result["landing_position"]["level"]=3 else: result["landing_position"]["level"]=4 r="capture_image"+str(re["3"]["num"])+".png" a=os.path.join(qqq,r) result["landing_position"]["path"]=a result["landing_position"]["val"]=re["3"]["val"] result["advice"]= advice.ad_jump(result) return result def classify_juanfu(name,re): q="./capture_image/"+name qqq=os.path.abspath(q) result={} result["head_power"]={} if(float(re["1"]["val"])>100.0): result["head_power"]["level"]=1 elif (float(re["1"]["val"])>90.0): result["head_power"]["level"]=2 elif (float(re["1"]["val"])>80.0): result["head_power"]["level"]=3 else: result["head_power"]["level"]=4 r="capture_image"+str(re["1"]["num"])+".png" a=os.path.join(qqq,r) result["head_power"]["path"]=a result["head_power"]["val"]=re["1"]["val"] result["core_strength"]={} if(float(re["2"]["val"])>90): result["core_strength"]["level"]=1 elif (float(re["2"]["val"])>80): result["core_strength"]["level"]=2 elif (float(re["2"]["val"])>70): result["core_strength"]["level"]=3 else: result["core_strength"]["level"]=4 r="capture_image"+str(re["2"]["num"])+".png" a=os.path.join(qqq,r) result["core_strength"]["path"]=a result["body_stability"]={} if(float(re["4"]["num"])<15): result["body_stability"]["level"]=1 elif (float(re["4"]["num"])<20): result["body_stability"]["level"]=2 elif (float(re["4"]["num"])<30): result["body_stability"]["level"]=3 else: result["body_stability"]["level"]=4 result["body_stability"]["val"]=re["4"]["num"] result["advice"]=advice.ad_juanfu(result) return result def classify_pingban(name,re): q="./capture_image/"+name qqq=os.path.abspath(q) result={} result["arm_strength"]={} dis=abs(90-float(re["1"]["val"])) if(dis<5): result["arm_strength"]["level"]=1 elif (dis<10): result["arm_strength"]["level"]=2 elif (dis<20): result["arm_strength"]["level"]=3 else: result["arm_strength"]["level"]=4 r="capture_image"+str(re["1"]["num"])+".png" a=os.path.join(qqq,r) result["arm_strength"]["path"]=a result["arm_strength"]["val"]=re["1"]["val"] result["stability"]={} if(float(re["2"]["val"])<5): result["stability"]["level"]=1 elif (float(re["2"]["val"])<10): result["stability"]["level"]=2 elif (float(re["2"]["val"])<15): result["stability"]["level"]=3 else: result["stability"]["level"]=4 r="capture_image"+str(re["2"]["num"])+".png" a=os.path.join(qqq,r) result["stability"]["path"]=a result["stability"]["val"]=re["2"]["val"] result["standard"]={} if(float(re["3"]["val"])<5): result["standard"]["level"]=1 elif (float(re["3"]["val"])<10): result["standard"]["level"]=2 elif (float(re["3"]["val"])<15): result["standard"]["level"]=3 else: result["standard"]["level"]=4 r="capture_image"+str(re["3"]["num"])+".png" a=os.path.join(qqq,r) result["standard"]["path"]=a result["standard"]["val"]=re["3"]["val"] result["advice"]=advice.ad_pingban(result) return result def classify_shendun(name,re): q="./capture_image/"+name qqq=os.path.abspath(q) result={} result["leg_strength"]={} if(float(re["1"]["val"])<70): result["leg_strength"]["level"]=1 elif(float(re["1"]["val"])<90): result["leg_strength"]["level"]=2 elif(float(re["1"]["val"])<100): result["leg_strength"]["level"]=3 else: result["leg_strength"]["level"]=4 r="capture_image"+str(re["1"]["num"])+".png" a=os.path.join(qqq,r) result["leg_strength"]["path"]=a result["advice"]=advice.ad_shendun(result) return result def classify_gaotaitui(name,re): q="./capture_image/"+name qqq=os.path.abspath(q) result={} result["standard"]={} if(float(re["1"]["val"])<40): result["standard"]["level"]=1 elif(float(re["1"]["val"])<70): result["standard"]["level"]=2 elif(float(re["1"]["val"])<100): result["standard"]["level"]=3 else: result["standard"]["level"]=4 r="capture_image"+str(re["1"]["num"])+".png" a=os.path.join(qqq,r) result["standard"]["path"]=a result["advice"]=advice.ad_gaotaitui(result) return result def classify_result(video_path,re,mode): #video_path = "./video/demo1.mp4" path=video_path os.path.split(path) tur=os.path.split(path) name=tur[len(tur)-1].split('.')[0] switch = {'jump': classify_jump, 'pingban':classify_pingban, 'juanfu': classify_juanfu, 'shendun':classify_shendun, 'gaotaitui':classify_gaotaitui, } choice=mode power=switch.get(choice,classify_jump)(name,re) print(power) return power def api_dyna(path,mode,ana): return classify_result(path,run(path,mode,ana),mode) if __name__ == '__main__': #path="./video/demo1.mp4" #api_dyna(path,"jump",0) #classify_result(path,run(path,"jump",0),"jump") #path="./video/juanfu.mp4" #api_dyna(path,"juanfu",0) #classify_result(path,run(path,"juanfu",0),"juanfu") path="./video/pingban.mp4" api_dyna(path,"pingban",0) classify_result(path,run(path,"pingban",0),"pingban") path="./video/gaotaitui.mp4" api_dyna(path,"gaotaitui",0) classify_result(path,run(path,"gaotaitui",0),"gaotaitui") path="./video/shendun.mp4" api_dyna(path,"shendun",0) ''' os.path.split(path) tur=os.path.split(path) name=tur[len(tur)-1].split('.')[0] p=os.getcwd() q="./capture_image/"+name qqq=os.path.abspath(q) #print(qqq) r="capture_image"+"48"+".png" a=os.path.join(qqq,r) '''