| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- 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)
- '''
|