ソースを参照

merge flask_api

dongyuanjushi 4 年 前
コミット
e52ccf86de
5 ファイル変更717 行追加697 行削除
  1. 137 143
      backend/analyse_jump.py
  2. 185 184
      backend/classify.py
  3. 5 5
      backend/demo_func.py
  4. 57 33
      backend/flask_api.py
  5. 333 332
      backend/video_to_photo.py

+ 137 - 143
backend/analyse_jump.py

@@ -4,6 +4,7 @@ import math
 import sys
 from demo_func import run_openpose_for_image_front, run_openpose_for_image_side
 
+
 def angle(v1, v2):
     dx1 = v1[2] - v1[0]
     dy1 = v1[3] - v1[1]
@@ -19,10 +20,11 @@ def angle(v1, v2):
         included_angle = abs(angle1 - angle2)
     else:
         included_angle = abs(angle1) + abs(angle2)
-        #if included_angle > 180:
+        # if included_angle > 180:
         #    included_angle = 360 - included_angle
     return included_angle
 
+
 def angle1(v1, v2):
     dx1 = v1[2] - v1[0]
     dy1 = v1[3] - v1[1]
@@ -30,28 +32,28 @@ def angle1(v1, v2):
     angle2 = abs(round(angle1 * 180.0 / math.pi, 2))
     return angle2
 
-def analyse_npy_side_juanfu(name,num,npy_side):
+
+def analyse_npy_side_juanfu(name, num, npy_side):
     result = {}
     data = np.load(npy_side)
-    j=0
-
-    if(len(data)!=18):
+    j = 0
 
+    if (len(data) != 18):
         return False
-    p="./cap_file/"+name
+    p = "./cap_file/" + name
 
-    file=open("./cap_file/"+name+"/file2.txt","a+")
-    for i in range(0,len(data)):
-        file.write(str(data[i])+"\n")
+    file = open("./cap_file/" + name + "/file2.txt", "a+")
+    for i in range(0, len(data)):
+        file.write(str(data[i]) + "\n")
     file.close()
-    nose_x=data[0][0]
-    nose_y=data[0][1]
-    shoulder_r_x=data[2][0]
-    shoulder_r_y=data[2][1]
-    elbow_r_x=data[3][0]
-    elbow_r_y=data[3][1]
-    wrist_r_x=data[4][0]
-    wrist_r_y=data[4][1]
+    nose_x = data[0][0]
+    nose_y = data[0][1]
+    shoulder_r_x = data[2][0]
+    shoulder_r_y = data[2][1]
+    elbow_r_x = data[3][0]
+    elbow_r_y = data[3][1]
+    wrist_r_x = data[4][0]
+    wrist_r_y = data[4][1]
 
     hip_r_x = data[8][0]
     hip_r_y = data[8][1]
@@ -62,20 +64,16 @@ def analyse_npy_side_juanfu(name,num,npy_side):
     ankle_r_x = data[10][0]
     ankle_r_y = data[10][1]
 
+    leg_heigh = data[10][1]
+    neck_hip_angle = round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
+    nose_neck_angle = round(angle1([nose_x, nose_y, neck_x, neck_y], [0, 0, 0, -1]), 2)
+    hip_knee_angle = round(angle1([hip_r_x, hip_r_y, knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y, ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
 
-
-
-    leg_heigh=data[10][1]
-    neck_hip_angle=round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
-    nose_neck_angle=round(angle1([nose_x, nose_y, neck_x, neck_y], [0, 0, 0, -1]), 2)
-    hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y,ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)#膝盖到脚
-
-
-    result["neck_hip_angle"]=neck_hip_angle
-    result["nose_neck_angle"]=nose_neck_angle
-    result["hip_knee_angle"]=hip_knee_angle
-    result["knee_ankle_angle"]=knee_ankle_angle
+    result["neck_hip_angle"] = neck_hip_angle
+    result["nose_neck_angle"] = nose_neck_angle
+    result["hip_knee_angle"] = hip_knee_angle
+    result["knee_ankle_angle"] = knee_ankle_angle
 
     print(hip_r_x)
     print(hip_r_y)
@@ -84,29 +82,29 @@ def analyse_npy_side_juanfu(name,num,npy_side):
 
     print(hip_knee_angle)
     print(p)
-    #print(npy_side)
+    # print(npy_side)
     return result
 
-def analyse_npy_side_pingban(name,num,npy_side):
+
+def analyse_npy_side_pingban(name, num, npy_side):
     result = {}
     data = np.load(npy_side)
-    j=0
-
-    if(len(data)<15):
+    j = 0
 
+    if (len(data) < 15):
         return False
-    p="./cap_file/"+name
+    p = "./cap_file/" + name
 
-    file=open("./cap_file/"+name+"/file2.txt","a+")
-    for i in range(0,len(data)):
-        file.write(str(data[i])+"\n")
+    file = open("./cap_file/" + name + "/file2.txt", "a+")
+    for i in range(0, len(data)):
+        file.write(str(data[i]) + "\n")
     file.close()
-    shoulder_r_x=data[2][0]
-    shoulder_r_y=data[2][1]
-    elbow_r_x=data[3][0]
-    elbow_r_y=data[3][1]
-    wrist_r_x=data[4][0]
-    wrist_r_y=data[4][1]
+    shoulder_r_x = data[2][0]
+    shoulder_r_y = data[2][1]
+    elbow_r_x = data[3][0]
+    elbow_r_y = data[3][1]
+    wrist_r_x = data[4][0]
+    wrist_r_y = data[4][1]
 
     hip_r_x = data[8][0]
     hip_r_y = data[8][1]
@@ -116,50 +114,51 @@ def analyse_npy_side_pingban(name,num,npy_side):
     neck_y = data[1][1]
     ankle_r_x = data[10][0]
     ankle_r_y = data[10][1]
-    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y,ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)#膝盖到脚
-    leg_heigh=data[10][1]
-    neck_hip_angle=round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
-    hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    s_e_angle=round(angle1([shoulder_r_x,shoulder_r_y,elbow_r_x,elbow_r_y],[]),2)
-    e_w_angle=round(angle1([elbow_r_x,elbow_r_y,wrist_r_x,wrist_r_y],[]),2)
-    hip_heigh=hip_r_y
-
-    result["knee_ankle_angle"]=knee_ankle_angle
-    result["leg_heigh"]=leg_heigh
-    result["neck_hip_angle"]=neck_hip_angle
-    result["hip_knee_angle"]=hip_knee_angle
-    result["hip_heigh"]=hip_heigh
-    result["s_e_angle"]=s_e_angle
-    result["e_w_angle"]=e_w_angle
-
-    #print(npy_side)
+    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y, ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
+    leg_heigh = data[10][1]
+    neck_hip_angle = round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
+    hip_knee_angle = round(angle1([hip_r_x, hip_r_y, knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    s_e_angle = round(angle1([shoulder_r_x, shoulder_r_y, elbow_r_x, elbow_r_y], []), 2)
+    e_w_angle = round(angle1([elbow_r_x, elbow_r_y, wrist_r_x, wrist_r_y], []), 2)
+    hip_heigh = hip_r_y
+
+    result["knee_ankle_angle"] = knee_ankle_angle
+    result["leg_heigh"] = leg_heigh
+    result["neck_hip_angle"] = neck_hip_angle
+    result["hip_knee_angle"] = hip_knee_angle
+    result["hip_heigh"] = hip_heigh
+    result["s_e_angle"] = s_e_angle
+    result["e_w_angle"] = e_w_angle
+
+    # print(npy_side)
     return result
-def analyse_npy_side_jump(name,num,npy_side):
+
+
+def analyse_npy_side_jump(name, num, npy_side):
     result = {}
     data = np.load(npy_side)
-    j=0
-    file=open("./cap_file/"+name+"/file2.txt","a+")
-    file.write(str(num)+"\n")
-    for i in range(0,len(data)):
-        file.write(str(data[i])+"\n")
+    j = 0
+    file = open("./cap_file/" + name + "/file2.txt", "a+")
+    file.write(str(num) + "\n")
+    for i in range(0, len(data)):
+        file.write(str(data[i]) + "\n")
     file.close()
 
-    if(len(data)!=18):
-
+    if (len(data) != 18):
         return False
-    p="./cap_file/"+name
+    p = "./cap_file/" + name
 
-    #file=open("./cap_file/"+name+"/file2.txt","a+")
-    #file.write(str(num)+"\n")
-    #for i in range(0,len(data)):
+    # file=open("./cap_file/"+name+"/file2.txt","a+")
+    # file.write(str(num)+"\n")
+    # for i in range(0,len(data)):
     #    file.write(str(data[i])+"\n")
-    #file.close()
-    #print(data)
+    # file.close()
+    # print(data)
     hip_r_x = data[8][0]
     hip_r_y = data[8][1]
     knee_r_x = data[9][0]
     knee_r_y = data[9][1]
-    #print(head_forward_level)
+    # print(head_forward_level)
     # upper part of body
     up_risk_level = ""
     up_state = ""
@@ -167,36 +166,36 @@ def analyse_npy_side_jump(name,num,npy_side):
     neck_y = data[1][1]
     ankle_r_x = data[10][0]
     ankle_r_y = data[10][1]
-    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y,ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)#膝盖到脚
-    leg_heigh=data[10][1]
-    neck_hip_angle=round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
-    hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    hip_heigh=hip_r_y
-
-    result["knee_ankle_angle"]=knee_ankle_angle
-    result["leg_heigh"]=leg_heigh
-    result["neck_hip_angle"]=neck_hip_angle
-    result["hip_knee_angle"]=hip_knee_angle
-    result["hip_heigh"]=hip_heigh
+    knee_ankle_angle = round(angle1([knee_r_x, knee_r_y, ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
+    leg_heigh = data[10][1]
+    neck_hip_angle = round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
+    hip_knee_angle = round(angle1([hip_r_x, hip_r_y, knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    hip_heigh = hip_r_y
+
+    result["knee_ankle_angle"] = knee_ankle_angle
+    result["leg_heigh"] = leg_heigh
+    result["neck_hip_angle"] = neck_hip_angle
+    result["hip_knee_angle"] = hip_knee_angle
+    result["hip_heigh"] = hip_heigh
 
     print(npy_side)
     return result
 
-def analyse_npy_side_gaotaitui(name,num,npy_side):
+
+def analyse_npy_side_gaotaitui(name, num, npy_side):
     result = {}
     data = np.load(npy_side)
-    j=0
-
+    j = 0
 
-    file=open("./cap_file/"+name+"/file2.txt","a+")
-    file.write(str(num)+"\n")
-    for i in range(0,len(data)):
-        file.write(str(data[i])+"\n")
+    file = open("./cap_file/" + name + "/file2.txt", "a+")
+    file.write(str(num) + "\n")
+    for i in range(0, len(data)):
+        file.write(str(data[i]) + "\n")
     file.close()
-    if(len(data)!=18):
+    if (len(data) != 18):
         return False
-    p="./cap_file/"+name
-    #print(data)
+    p = "./cap_file/" + name
+    # print(data)
     hip_r_x = data[8][0]
     hip_r_y = data[8][1]
     knee_r_x = data[9][0]
@@ -206,7 +205,7 @@ def analyse_npy_side_gaotaitui(name,num,npy_side):
     hip_l_y = data[11][1]
     knee_l_x = data[12][0]
     knee_l_y = data[12][1]
-    #print(head_forward_level)
+    # print(head_forward_level)
     # upper part of body
     up_risk_level = ""
     up_state = ""
@@ -216,42 +215,40 @@ def analyse_npy_side_gaotaitui(name,num,npy_side):
     ankle_r_y = data[10][1]
     ankle_l_x = data[13][0]
     ankle_l_y = data[13][1]
-    knee_ankle_r_angle = round(angle1([knee_r_x, knee_r_y,ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)#膝盖到脚
-    knee_ankle_l_angle = round(angle1([knee_l_x, knee_l_y,ankle_l_x, ankle_l_y], [0, 0, 0, -1]), 2)#膝盖到脚
-
-    hip_knee_r_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    hip_knee_l_angle=round(angle1([hip_l_x, hip_l_y,knee_l_x, knee_l_y], [0, 0, 0, -1]), 2)
-    neck_hip_angle=round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
-    #hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    hip_heigh=hip_r_y
-
-    result["knee_ankle_r_angle"]=knee_ankle_r_angle
-    result["knee_ankle_l_angle"]=knee_ankle_l_angle
-    result["hip_knee_r_angle"]=hip_knee_r_angle
-    result["hip_knee_l_angle"]=hip_knee_l_angle
-    result["r_d"]=abs(0-float(hip_knee_r_angle)+float(knee_ankle_r_angle))
-    result["l_d"]=abs(0+float(knee_ankle_l_angle)-float(hip_knee_l_angle))
-
-
+    knee_ankle_r_angle = round(angle1([knee_r_x, knee_r_y, ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
+    knee_ankle_l_angle = round(angle1([knee_l_x, knee_l_y, ankle_l_x, ankle_l_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
+
+    hip_knee_r_angle = round(angle1([hip_r_x, hip_r_y, knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    hip_knee_l_angle = round(angle1([hip_l_x, hip_l_y, knee_l_x, knee_l_y], [0, 0, 0, -1]), 2)
+    neck_hip_angle = round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
+    # hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    hip_heigh = hip_r_y
+
+    result["knee_ankle_r_angle"] = knee_ankle_r_angle
+    result["knee_ankle_l_angle"] = knee_ankle_l_angle
+    result["hip_knee_r_angle"] = hip_knee_r_angle
+    result["hip_knee_l_angle"] = hip_knee_l_angle
+    result["r_d"] = abs(0 - float(hip_knee_r_angle) + float(knee_ankle_r_angle))
+    result["l_d"] = abs(0 + float(knee_ankle_l_angle) - float(hip_knee_l_angle))
 
     return result
 
-def analyse_npy_side_shendun(name,num,npy_side):
+
+def analyse_npy_side_shendun(name, num, npy_side):
     result = {}
     data = np.load(npy_side)
-    j=0
-
+    j = 0
 
-    file=open("./cap_file/"+name+"/file2.txt","a+")
-    file.write(str(num)+"\n")
+    file = open("./cap_file/" + name + "/file2.txt", "a+")
+    file.write(str(num) + "\n")
 
-    if(len(data)!=18):
+    if (len(data) != 18):
         return False
-    for i in range(0,len(data)):
-        file.write(str(data[i])+"\n")
+    for i in range(0, len(data)):
+        file.write(str(data[i]) + "\n")
     file.close()
-    p="./cap_file/"+name
-    #print(data)
+    p = "./cap_file/" + name
+    # print(data)
     hip_r_x = data[8][0]
     hip_r_y = data[8][1]
     knee_r_x = data[9][0]
@@ -261,7 +258,7 @@ def analyse_npy_side_shendun(name,num,npy_side):
     hip_l_y = data[11][1]
     knee_l_x = data[12][0]
     knee_l_y = data[12][1]
-    #print(head_forward_level)
+    # print(head_forward_level)
     # upper part of body
     up_risk_level = ""
     up_state = ""
@@ -271,22 +268,19 @@ def analyse_npy_side_shendun(name,num,npy_side):
     ankle_r_y = data[10][1]
     ankle_l_x = data[13][0]
     ankle_l_y = data[13][1]
-    knee_ankle_r_angle = round(angle1([knee_r_x, knee_r_y,ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)#膝盖到脚
-    knee_ankle_l_angle = round(angle1([knee_l_x, knee_l_y,ankle_l_x, ankle_l_y], [0, 0, 0, -1]), 2)#膝盖到脚
-
-    hip_knee_r_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    hip_knee_l_angle=round(angle1([hip_l_x, hip_l_y,knee_l_x, knee_l_y], [0, 0, 0, -1]), 2)
-    neck_hip_angle=round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
-    #hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
-    hip_heigh=hip_r_y
+    knee_ankle_r_angle = round(angle1([knee_r_x, knee_r_y, ankle_r_x, ankle_r_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
+    knee_ankle_l_angle = round(angle1([knee_l_x, knee_l_y, ankle_l_x, ankle_l_y], [0, 0, 0, -1]), 2)  # 膝盖到脚
 
-    result["knee_ankle_r_angle"]=knee_ankle_r_angle
-    result["knee_ankle_l_angle"]=knee_ankle_l_angle
-    result["hip_knee_r_angle"]=hip_knee_r_angle
-    result["hip_knee_l_angle"]=hip_knee_l_angle
-    result["r_d"]=abs(float(result["hip_knee_r_angle"])-float(result["knee_ankle_r_angle"]))
+    hip_knee_r_angle = round(angle1([hip_r_x, hip_r_y, knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    hip_knee_l_angle = round(angle1([hip_l_x, hip_l_y, knee_l_x, knee_l_y], [0, 0, 0, -1]), 2)
+    neck_hip_angle = round(angle1([neck_x, neck_y, hip_r_x, hip_r_y], [0, 0, 0, -1]), 2)
+    # hip_knee_angle=round(angle1([hip_r_x, hip_r_y,knee_r_x, knee_r_y], [0, 0, 0, -1]), 2)
+    hip_heigh = hip_r_y
 
+    result["knee_ankle_r_angle"] = knee_ankle_r_angle
+    result["knee_ankle_l_angle"] = knee_ankle_l_angle
+    result["hip_knee_r_angle"] = hip_knee_r_angle
+    result["hip_knee_l_angle"] = hip_knee_l_angle
+    result["r_d"] = abs(float(result["hip_knee_r_angle"]) - float(result["knee_ankle_r_angle"]))
 
-
-
-    return result
+    return result

+ 185 - 184
backend/classify.py

@@ -1,232 +1,233 @@
 from video_to_photo import run
 import os
 
-def classify_jump(name,re):
-    q="./capture_image/"+name
-    qqq=os.path.abspath(q)
 
+def classify_jump(name, re):
+    q = "./capture_image/" + name
+    qqq = os.path.abspath(q)
 
-    result={}
-    result["jump_power"]={}
+    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
+    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
+        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
+        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["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"]
 
     return result
-def classify_juanfu(name,re):
-    q="./capture_image/"+name
-    qqq=os.path.abspath(q)
 
 
-    result={}
-    result["head_power"]={}
+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
+    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"])>75):
-        result["core_strength"]["level"]=1
-    elif (float(re["2"]["val"])>70):
-        result["core_strength"]["level"]=2
-    elif (float(re["2"]["val"])>60):
-        result["core_strength"]["level"]=3
+        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"]) > 75):
+        result["core_strength"]["level"] = 1
+    elif (float(re["2"]["val"]) > 70):
+        result["core_strength"]["level"] = 2
+    elif (float(re["2"]["val"]) > 60):
+        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"]["val"])<20):
-        result["body_stability"]["level"]=2
-    elif (float(re["4"]["val"])<30):
-        result["body_stability"]["level"]=3
+        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"]["val"]) < 20):
+        result["body_stability"]["level"] = 2
+    elif (float(re["4"]["val"]) < 30):
+        result["body_stability"]["level"] = 3
     else:
-        result["body_stability"]["level"]=4
+        result["body_stability"]["level"] = 4
 
-
-    result["body_stability"]["val"]=re["4"]["num"]
+    result["body_stability"]["val"] = re["4"]["num"]
     return result
 
-def classify_pingban(name,re):
-    q="./capture_image/"+name
-    qqq=os.path.abspath(q)
 
+def classify_pingban(name, re):
+    q = "./capture_image/" + name
+    qqq = os.path.abspath(q)
 
-    result={}
-    result["arm_strength"]={}
+    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
+    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
+        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
+        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["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"]
 
     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
+
+
+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
+        result["leg_strength"]["level"] = 4
 
-    r="capture_image"+str(re["1"]["num"])+".png"
-    a=os.path.join(qqq,r)
-    result["leg_strength"]["path"]=a
+    r = "capture_image" + str(re["1"]["num"]) + ".png"
+    a = os.path.join(qqq, r)
+    result["leg_strength"]["path"] = a
     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
+
+
+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
+        result["standard"]["level"] = 4
 
-    r="capture_image"+str(re["1"]["num"])+".png"
-    a=os.path.join(qqq,r)
-    result["standard"]["path"]=a
+    r = "capture_image" + str(re["1"]["num"]) + ".png"
+    a = os.path.join(qqq, r)
+    result["standard"]["path"] = a
     return result
 
 
-def classify_result(video_path,re,mode):
-    #video_path = "./video/demo1.mp4"
-    path=video_path
+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]
-
+    tur = os.path.split(path)
+    name = tur[len(tur) - 1].split('.')[0]
 
     switch = {'jump': classify_jump,
-              'pingban':classify_pingban,
+              'pingban': classify_pingban,
               'juanfu': classify_juanfu,
-              'shendun':classify_shendun,
-              'gaotaitui':classify_gaotaitui,
+              'shendun': classify_shendun,
+              'gaotaitui': classify_gaotaitui,
               }
-    choice=mode
-    power=switch.get(choice,classify_jump)(video_path,re)
+    choice = mode
+    power = switch.get(choice, classify_jump)(video_path, re)
     return power
 
-def api_dyna(video_path,mode,ana=1):
-    return classify_result(path,run(path,mode,ana),mode)
 
-if __name__ == '__main__':
+def api_dyna(video_path, mode, ana=1):
+    return classify_result(path, run(path, mode, ana), mode)
 
 
-    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)
+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)
@@ -238,4 +239,4 @@ if __name__ == '__main__':
     #print(qqq)
     r="capture_image"+"48"+".png"
     a=os.path.join(qqq,r)
-'''
+'''

+ 5 - 5
backend/demo_func.py

@@ -8,7 +8,7 @@ import os
 
 from src import util
 from src.body import Body
-from src.infer_video_d2 import infer_image,load_predictor
+# from src.infer_video_d2 import infer_image,load_predictor
 
 def run_visual_3d_for_image_front(index):
     pass
@@ -117,12 +117,12 @@ def run_openpose_for_normal(index):
     im = cv2.imread(test_image, cv2.IMREAD_UNCHANGED)
 
     # --- for openpose ---
-    # body_estimation = Body('model/body_pose_model.pth')
-    # candidate, subset = body_estimation(oriImg)
+    body_estimation = Body('model/body_pose_model.pth')
+    candidate, subset = body_estimation(oriImg)
 
     # --- for detectron ---
-    predictor = load_predictor()
-    candidate, subset = infer_image(oriImg, predictor)
+    # predictor = load_predictor()
+    # candidate, subset = infer_image(oriImg, predictor)
 
     # 坐标点数值保存路径,需要更改!!
     np.save('./capture_image/capture_image{}-1.png'.format(index), candidate)

+ 57 - 33
backend/flask_api.py

@@ -6,7 +6,7 @@ from flask_cors import *
 from PIL import Image
 import base64
 
-from analyse_func import  do_analysis
+from analyse_func import do_analysis
 
 # str_res=""
 # a dict contains the txt
@@ -17,8 +17,7 @@ bJson = ""
 global_index = [6]
 li_return = []
 img_return = []
-ip_ad="106.15.1.178"
-
+ip_ad = "106.15.1.178"
 
 import pymysql
 
@@ -30,23 +29,26 @@ db = pymysql.connect(host=ip_ad,
 
 cursor = db.cursor()
 
+
 def create_db():
     db = pymysql.connect(host=ip_ad,
                          user="root",
                          password="root",
-                         #port=3306,  # 端口
-                         #charset='utf8')
+                         # port=3306,  # 端口
+                         # charset='utf8')
                          )
 
     cursor = db.cursor()
     # 使用 execute() 方法执行 SQL,如果表存在则删除
-    #cursor.execute("DROP TABLE IF EXISTS pose")
+    # cursor.execute("DROP TABLE IF EXISTS pose")
 
     # 使用预处理语句创建表
     cursor.execute("create database if not exists pose")
     db.commit()
     db.close()
     cursor.close()
+
+
 def create_table():
     db = pymysql.connect(host=ip_ad,
                          user="root",
@@ -57,7 +59,6 @@ def create_table():
 
     cursor = db.cursor()
 
-
     sql = """CREATE TABLE pose(
              id  INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
              status INT)
@@ -71,6 +72,8 @@ def create_table():
     print(version)
     db.commit()
     db.close()
+
+
 def add_new_data():
     db = pymysql.connect(host=ip_ad,
                          user="root",
@@ -81,14 +84,15 @@ def add_new_data():
 
     cursor = db.cursor()
 
-    insert_table_sql="""INSERT INTO `pose` (`status`) VALUES ( '0')"""
+    insert_table_sql = """INSERT INTO `pose` (`status`) VALUES ( '0')"""
     cursor.execute(insert_table_sql)
     db.commit()
     db.close()
     cursor.close()
-    return_id=cursor.lastrowid
+    return_id = cursor.lastrowid
     return return_id
 
+
 def process_db(id):
     db = pymysql.connect(host=ip_ad,
                          user="root",
@@ -96,13 +100,14 @@ def process_db(id):
                          port=3306,  # 端口
                          database="pose",
                          charset='utf8')
-    sql = "update pose set status = 1 where id = %d " %id
+    sql = "update pose set status = 1 where id = %d " % id
     cursor = db.cursor()
     cursor.execute(sql)
     db.commit()
     cursor.close()
     db.close()
 
+
 def get_status(id):
     db = pymysql.connect(host=ip_ad,
                          user="root",
@@ -110,14 +115,14 @@ def get_status(id):
                          port=3306,  # 端口
                          database="pose",
                          charset='utf8')
-    sql="select status from pose where id =%d"%id
-    cursor=db.cursor()
-    status=cursor.execute(sql)
+    sql = "select status from pose where id =%d" % id
+    cursor = db.cursor()
+    status = cursor.execute(sql)
     cursor.close()
     db.close()
-    if str(status)=="1":
+    if str(status) == "1":
         return True
-    return False                      
+    return False
 
 
 # read txt file and change it to the list format
@@ -217,14 +222,14 @@ def read_pose_processes_txt_result():
 def run_the_process(index: int = 0, height: float = 110):
     # sys.path.append("../analyse_func.py")
     # import analyse_func
-    #print(global_index[0])
+    # print(global_index[0])
     do_analysis(global_index[0], height)
 
 
 # 把list转化为可以直接返回的json格式
 
 def list_to_json(li):
-    #print(li)
+    # print(li)
 
     aJson = json.dumps(li, ensure_ascii=False)
     print(aJson)
@@ -241,33 +246,43 @@ def list_to_json(li):
 app = Flask(__name__)
 
 
-def save_file(file):
+def save_images(file):
     base = "pose_source_images/"
     filename = file.filename
     index = global_index[0]
-    #global_index[0] = index
+    # global_index[0] = index
     suffix = ".png"
     if filename.find("jpg") > 0:
         suffix = ".jpg"
     elif filename.find("png") > 0:
         suffix = ".png"
     save_name = ""
-    print(str(index)+"index")
-    print(filename+"filename")
+    print(str(index) + "index")
+    print(filename + "filename")
     if "front" in filename:
         save_name = base + str(index) + str("-0") + suffix
-        print(filename+"filename_front")
-        print(save_name+"savename_front")
+        print(filename + "filename_front")
+        print(save_name + "savename_front")
     elif "right" in filename:
         save_name = base + str(index) + str("-1") + suffix
-        print(filename+"filename_right")
-        print(save_name+"savename_right")
-    else :
+        print(filename + "filename_right")
+        print(save_name + "savename_right")
+    else:
         print("nope")
     file.save(save_name)
     print(filename)
     print(save_name)
 
+def save_videos(file):
+    base = "3d_pose/input/"
+    filename = file.filename
+    # global_index[0] = index
+    save_name = base + filename
+    print(filename)
+    print(save_name)
+    file.save(save_name)
+
+
 
 @app.route('/send_form', methods=['POST'])
 @cross_origin()
@@ -275,18 +290,28 @@ def send_form():
     text_data = request.form.to_dict()
     fileList = request.files.to_dict()
     global global_index
-    global_index[0]=int(add_new_data())
+    global_index[0] = int(add_new_data())
     for file in fileList.values():
-        save_file(file)
+        save_images(file)
     height = float(text_data["height"]) if text_data["height"] != "undefined" else None
     run_the_process(global_index[0], height)
     process_db(int(global_index[0]))
     return {
-        "id":global_index[0], 
+        "id": global_index[0],
         "status": True if height is not None else False
     }
 
 
+@app.route('/submit_video', methods=['POST'])
+@cross_origin()
+def send_video():
+    # text_data = request.form.to_dict()
+    fileList = request.files.to_dict()
+    for file in fileList.values():
+        save_videos(file)
+
+
+
 def get_base64(path):
     with open(path, "rb") as f:
         base64_data = base64.b64encode(f.read())
@@ -299,7 +324,7 @@ def run_project():
     id = request.form.to_dict()["id"]
     print(id)
     base = "pose_processed_images"
-    global_index[0]=int(id)
+    global_index[0] = int(id)
     read_pose_processes_txt_result()
     print(base + "/" + str(global_index[0]) + "-0-result.png")
     return {
@@ -309,11 +334,10 @@ def run_project():
     }
 
 
-
 if __name__ == '__main__':
     # read_pose_processes_txt_result()
     # print(list_to_json(li_return))
 
-    #app.run()
-    app.run(host="0.0.0.0", port=8090,debug=True)
+    # app.run()
+    app.run(host="0.0.0.0", port=8090, debug=True)
     CORS(app, resouces=r'/*')

+ 333 - 332
backend/video_to_photo.py

@@ -1,38 +1,38 @@
 import os
 import math
 
-import  cv2
+import cv2
 from demo_func import run_openpose_for_normal
 from PIL import Image
-from analyse_jump import  analyse_npy_side_jump,analyse_npy_side_pingban,analyse_npy_side_juanfu,analyse_npy_side_gaotaitui,analyse_npy_side_shendun
+from analyse_jump import analyse_npy_side_jump, analyse_npy_side_pingban, analyse_npy_side_juanfu, \
+    analyse_npy_side_gaotaitui, analyse_npy_side_shendun
 import glob
 import time
 import os
 
 
-
 def split_video(path):
     video_path = path
     os.path.split(path)
-    tur=os.path.split(path)
-    print(tur[len(tur)-1].split('.')[0])
-    name=tur[len(tur)-1].split('.')[0]
-    if os.path.exists("./capture_image/"+name)==False:
-        os.mkdir("./capture_image/"+name)
+    tur = os.path.split(path)
+    print(tur[len(tur) - 1].split('.')[0])
+    name = tur[len(tur) - 1].split('.')[0]
+    if os.path.exists("./capture_image/" + name) == False:
+        os.mkdir("./capture_image/" + name)
     cap = cv2.VideoCapture(video_path)
     FPS = cap.get(5)
     print(FPS)
     c = 1
     frameRate = 1
-    if os.path.exists("./capture_image/"+name)==False:
-        os.mkdir("./capture_image/"+name)
+    if os.path.exists("./capture_image/" + name) == False:
+        os.mkdir("./capture_image/" + name)
 
     while (True):
 
         ret, frame = cap.read()
         if ret:
             if (c % frameRate == 0):
-                cv2.imwrite("./capture_image/"+name+"/capture_image" + str(c) + '.png', frame)
+                cv2.imwrite("./capture_image/" + name + "/capture_image" + str(c) + '.png', frame)
 
             c += 1
             cv2.waitKey(0)
@@ -41,39 +41,41 @@ def split_video(path):
     cap.release()
     return c
 
-def process_photo(name,c=334):
+
+def process_photo(name, c=334):
     print(name)
-    for i in range(1,c):
-        run_openpose_for_normal(i,name)
+    for i in range(1, c):
+        run_openpose_for_normal(i, name)
+
 
 def gather_video(path):
     video_path = path
 
     os.path.split(path)
-    tur=os.path.split(path)
-    print(tur[len(tur)-1].split('.')[0])
-    name=tur[len(tur)-1].split('.')[0]
+    tur = os.path.split(path)
+    print(tur[len(tur) - 1].split('.')[0])
+    name = tur[len(tur) - 1].split('.')[0]
 
     cap = cv2.VideoCapture(video_path)
     fps = cap.get(5)
-    num_frames = len(os.listdir(r'./capture_image/'+name))
+    num_frames = len(os.listdir(r'./capture_image/' + name))
     print(num_frames)
     img_array = []
-    im=Image.open("./capture_image/"+name+"/capture_image_result1.png")
+    im = Image.open("./capture_image/" + name + "/capture_image_result1.png")
 
-    #img_width = 720
-    #img_height = 1280
-    k=0
+    # img_width = 720
+    # img_height = 1280
+    k = 0
     for i in range(num_frames + 1):
-        filename = "./capture_image/"+name+"/capture_image_result" + str(i) + ".png"
-        k+=1
+        filename = "./capture_image/" + name + "/capture_image_result" + str(i) + ".png"
+        k += 1
         img = cv2.imread(filename)
 
         if img is None:
             continue
         img_array.append(img)
     print(k)
-    save_name="./video/video_a/"+name+".mp4"
+    save_name = "./video/video_a/" + name + ".mp4"
     out = cv2.VideoWriter(save_name, cv2.VideoWriter_fourcc(*"mp4v"), fps, im.size)
 
     for i in range(len(img_array)):
@@ -82,409 +84,408 @@ def gather_video(path):
     im.close()
 
 
-def do_analysis(a_path,video_path,mode):
+def do_analysis(a_path, video_path, mode):
     path = video_path
     os.path.split(path)
-    tur=os.path.split(path)
-    name=tur[len(tur)-1].split('.')[0]
-
-    if os.path.exists("./cap_file/"+name)==False:
-        os.mkdir("./cap_file/"+name)
-        #ticks=time.time()
-    source_npy_side=a_path
-    output=open("./cap_file/"+name+"/file2"+".txt","w")
+    tur = os.path.split(path)
+    name = tur[len(tur) - 1].split('.')[0]
+
+    if os.path.exists("./cap_file/" + name) == False:
+        os.mkdir("./cap_file/" + name)
+        # ticks=time.time()
+    source_npy_side = a_path
+    output = open("./cap_file/" + name + "/file2" + ".txt", "w")
     output.close()
-    result={}
-    p='./capture_image/'+name+"/"
-    lenF=int(len(glob.glob(p+'*.png'))/2)
-    for i in range(1,lenF):#run_openpose_for_normal(i)
-        if(mode=="jump"):
-            result_side = analyse_npy_side_jump(name,i,source_npy_side.format(i))
-        elif (mode=="pingban"):
-            result_side = analyse_npy_side_pingban(name,i,source_npy_side.format(i))
-        elif(mode=="juanfu"):
-            result_side = analyse_npy_side_juanfu(name,i,source_npy_side.format(i))
-        elif(mode=="gaotaitui"):
-            result_side =analyse_npy_side_gaotaitui(name,i,source_npy_side.format(i))
-        elif(mode=="shendun"):
-            result_side =analyse_npy_side_shendun(name,i,source_npy_side.format(i))
-
-        if(result_side!=False):
-            result[i]=result_side
-
-
-    output=open("./cap_file/"+name+"/file1.txt","w")
+    result = {}
+    p = './capture_image/' + name + "/"
+    lenF = int(len(glob.glob(p + '*.png')) / 2)
+    for i in range(1, lenF):  # run_openpose_for_normal(i)
+        if (mode == "jump"):
+            result_side = analyse_npy_side_jump(name, i, source_npy_side.format(i))
+        elif (mode == "pingban"):
+            result_side = analyse_npy_side_pingban(name, i, source_npy_side.format(i))
+        elif (mode == "juanfu"):
+            result_side = analyse_npy_side_juanfu(name, i, source_npy_side.format(i))
+        elif (mode == "gaotaitui"):
+            result_side = analyse_npy_side_gaotaitui(name, i, source_npy_side.format(i))
+        elif (mode == "shendun"):
+            result_side = analyse_npy_side_shendun(name, i, source_npy_side.format(i))
+
+        if (result_side != False):
+            result[i] = result_side
+
+    output = open("./cap_file/" + name + "/file1.txt", "w")
     for re in result:
-        print(re,file=output)
-        for(name,value) in result[re].items():
-            print(name,value,sep=',',file=output)
-        print("kv-over",file=output)
+        print(re, file=output)
+        for (name, value) in result[re].items():
+            print(name, value, sep=',', file=output)
+        print("kv-over", file=output)
     output.close()
 
 
 def read2(fileName="./cap_file/file1.txt"):
-    file=open(fileName)
-    db={}
-    key=file.readline().strip()
+    file = open(fileName)
+    db = {}
+    key = file.readline().strip()
 
-    while(key  != "kv-over\n"):
+    while (key != "kv-over\n"):
         if not key:
             break
-        person={}
-        field=file.readline().strip()
+        person = {}
+        field = file.readline().strip()
         while field != "kv-over":
-            name, value= field.split(",")
-            person[name]=value.strip()
-            field=file.readline().strip()
-            if(field=="kv-over\n"):
+            name, value = field.split(",")
+            person[name] = value.strip()
+            field = file.readline().strip()
+            if (field == "kv-over\n"):
                 break
-        db[key]=person
+        db[key] = person
         key = file.readline().strip()
-    print("db==== " , db)
+    print("db==== ", db)
     return db
 
 
-
 def ignore_data_pingban(result):
-    result_ig=result
-    k="0"
-    last={}
-    max_index=1
+    result_ig = result
+    k = "0"
+    last = {}
+    max_index = 1
     for re in result:
-        if k=="0":
-            k=re
+        if k == "0":
+            k = re
         else:
-            if(max_index<int(re)):
-                max_index=int(re)
+            if (max_index < int(re)):
+                max_index = int(re)
 
-    max_angle=abs(float(result_ig[k]["s_e_angle"])-float(result_ig[k]["e_w_angle"]))
-    max_num=int(k)
+    max_angle = abs(float(result_ig[k]["s_e_angle"]) - float(result_ig[k]["e_w_angle"]))
+    max_num = int(k)
 
-    less_angle=100
-    less_num=1
-
-    max_less_a=1
-    max_less_num=k
+    less_angle = 100
+    less_num = 1
 
+    max_less_a = 1
+    max_less_num = k
 
     for i in result_ig:
-        if (int(i)>=max_index/3 and int(i)<=max_index/3*2):
-            val=math.fabs( math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"])))
-            an_=abs(float(result_ig[i]["s_e_angle"])-float(result_ig[i]["e_w_angle"]))
-            if(math.fabs( math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"])))<less_angle):
-                less_angle=val
-                less_num=int(i)
-            if(an_<max_angle):
-                max_angle=an_
-                max_num=i
-            if(math.fabs( math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"])))>max_less_a):
-                max_less_an=val
-                max_less_num=int(i)
-    re={}
-    re["1"]={}
-    re["1"]["num"]=max_num
-    re["1"]["val"]=max_angle
-    re["2"]={}
-    re["2"]["num"]=less_num
-    re["2"]["val"]=less_angle
-    re["3"]={}
-    re["3"]["num"]=max_less_num
-    re["3"]["val"]=max_less_a
-    #1表示手肘和肩膀最小角度
-    #2表示最小的身体角度差
-    #3表示最大的身体角度差
-    #1用来说明手部力量 3-2说明稳定性 2说明最好的状态 3说明最差的状态
+        if (int(i) >= max_index / 3 and int(i) <= max_index / 3 * 2):
+            val = math.fabs(
+                math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(float(result_ig[i]["knee_ankle_angle"])))
+            an_ = abs(float(result_ig[i]["s_e_angle"]) - float(result_ig[i]["e_w_angle"]))
+            if (math.fabs(math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(
+                    float(result_ig[i]["knee_ankle_angle"]))) < less_angle):
+                less_angle = val
+                less_num = int(i)
+            if (an_ < max_angle):
+                max_angle = an_
+                max_num = i
+            if (math.fabs(math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(
+                    float(result_ig[i]["knee_ankle_angle"]))) > max_less_a):
+                max_less_an = val
+                max_less_num = int(i)
+    re = {}
+    re["1"] = {}
+    re["1"]["num"] = max_num
+    re["1"]["val"] = max_angle
+    re["2"] = {}
+    re["2"]["num"] = less_num
+    re["2"]["val"] = less_angle
+    re["3"] = {}
+    re["3"]["num"] = max_less_num
+    re["3"]["val"] = max_less_a
+    # 1表示手肘和肩膀最小角度
+    # 2表示最小的身体角度差
+    # 3表示最大的身体角度差
+    # 1用来说明手部力量 3-2说明稳定性 2说明最好的状态 3说明最差的状态
     print(re)
-    return result_ig,re
+    return result_ig, re
+
 
 def ignore_data_juanfu(result):
-    result_ig=result
-    k="0"
-    last={}
-    max_index=1
+    result_ig = result
+    k = "0"
+    last = {}
+    max_index = 1
     for re in result:
-        if k=="0":
-            k=re
+        if k == "0":
+            k = re
         else:
-            if(max_index<int(re)):
-                max_index=int(re)
+            if (max_index < int(re)):
+                max_index = int(re)
 
-    max_angle=result[k]["nose_neck_angle"]
-    max_num=int(k)
+    max_angle = result[k]["nose_neck_angle"]
+    max_num = int(k)
 
-    less_h_k_a=result[k]["hip_knee_angle"]
-    less_h_k_num=k
+    less_h_k_a = result[k]["hip_knee_angle"]
+    less_h_k_num = k
 
-    max_h_k_a=result[k]["hip_knee_angle"]
-    max_h_k_num=k
+    max_h_k_a = result[k]["hip_knee_angle"]
+    max_h_k_num = k
 
-    less_k_a_a=result[k]["knee_ankle_angle"]
-    less_k_a_num=k
+    less_k_a_a = result[k]["knee_ankle_angle"]
+    less_k_a_num = k
 
-    max_k_a_a=result[k]["knee_ankle_angle"]
-    max_k_a_num=k
+    max_k_a_a = result[k]["knee_ankle_angle"]
+    max_k_a_num = k
 
-    max_neck_hip_a=result[k]["neck_hip_angle"]
-    max_neck_hip_num=k
+    max_neck_hip_a = result[k]["neck_hip_angle"]
+    max_neck_hip_num = k
 
     for i in result_ig:
-        if(float(result_ig[i]["nose_neck_angle"])>float(max_angle)):
-            max_num=int(i)
-            max_angle=result_ig[i]["nose_neck_angle"]
-
-        if(float(result_ig[i]["hip_knee_angle"])>float(max_h_k_a)):
-            max_h_k_num=int(i)
-            max_h_k_a=result_ig[i]["hip_knee_angle"]
-
-        if(float(result_ig[i]["knee_ankle_angle"])>float(max_k_a_a)):
-            max_k_a_num=int(i)
-            max_k_a_a=result_ig[i]["knee_ankle_angle"]
-
-        if(float(result_ig[i]["neck_hip_angle"])>float(max_neck_hip_a)):
-            max_neck_hip_num=int(i)
-            max_neck_hip_a=result_ig[i]["neck_hip_angle"]
-
-
-        if(float(result_ig[i]["hip_knee_angle"])<float(less_h_k_a)):
-            less_h_k_num=int(i)
-            less_h_k_a=result_ig[i]["hip_knee_angle"]
-
-        if(float(result_ig[i]["knee_ankle_angle"])<float(less_k_a_a)):
-            less_k_a_num=int(i)
-            less_k_a_a=result_ig[i]["knee_ankle_angle"]
-
-
-    re={}
-    re["1"]={}
-    re["1"]["num"]=max_num
-    re["1"]["val"]=max_angle
-    re["2"]={}
-    re["2"]["num"]=max_neck_hip_num
-    re["2"]["val"]=max_neck_hip_a
-    re["3"]={}
-    re["3"]["num"]=float(max_h_k_a)-float(less_h_k_a)
-    re["3"]["num1"]=max_h_k_num
-    re["3"]["num2"]=less_h_k_num
-    re["3"]["val1"]=max_h_k_a
-    re["3"]["val2"]=less_h_k_a
-    re["4"]={}
-    re["4"]["num"]=float(max_k_a_a)-float(less_k_a_a)
-    re["4"]["num1"]=max_k_a_num
-    re["4"]["num2"]=less_k_a_num
-    re["4"]["val1"]=max_k_a_a
-    re["4"]["val2"]=less_k_a_a
-    #1表示头部和脖子角度
-    #2表示脖子和臀部角度
-    #3表示hip-knee的极差 稳定性
-    #4表示knee-ankle的极差 稳定性
-    #3的数据误差太大 待用性待考察
+        if (float(result_ig[i]["nose_neck_angle"]) > float(max_angle)):
+            max_num = int(i)
+            max_angle = result_ig[i]["nose_neck_angle"]
+
+        if (float(result_ig[i]["hip_knee_angle"]) > float(max_h_k_a)):
+            max_h_k_num = int(i)
+            max_h_k_a = result_ig[i]["hip_knee_angle"]
+
+        if (float(result_ig[i]["knee_ankle_angle"]) > float(max_k_a_a)):
+            max_k_a_num = int(i)
+            max_k_a_a = result_ig[i]["knee_ankle_angle"]
+
+        if (float(result_ig[i]["neck_hip_angle"]) > float(max_neck_hip_a)):
+            max_neck_hip_num = int(i)
+            max_neck_hip_a = result_ig[i]["neck_hip_angle"]
+
+        if (float(result_ig[i]["hip_knee_angle"]) < float(less_h_k_a)):
+            less_h_k_num = int(i)
+            less_h_k_a = result_ig[i]["hip_knee_angle"]
+
+        if (float(result_ig[i]["knee_ankle_angle"]) < float(less_k_a_a)):
+            less_k_a_num = int(i)
+            less_k_a_a = result_ig[i]["knee_ankle_angle"]
+
+    re = {}
+    re["1"] = {}
+    re["1"]["num"] = max_num
+    re["1"]["val"] = max_angle
+    re["2"] = {}
+    re["2"]["num"] = max_neck_hip_num
+    re["2"]["val"] = max_neck_hip_a
+    re["3"] = {}
+    re["3"]["num"] = float(max_h_k_a) - float(less_h_k_a)
+    re["3"]["num1"] = max_h_k_num
+    re["3"]["num2"] = less_h_k_num
+    re["3"]["val1"] = max_h_k_a
+    re["3"]["val2"] = less_h_k_a
+    re["4"] = {}
+    re["4"]["num"] = float(max_k_a_a) - float(less_k_a_a)
+    re["4"]["num1"] = max_k_a_num
+    re["4"]["num2"] = less_k_a_num
+    re["4"]["val1"] = max_k_a_a
+    re["4"]["val2"] = less_k_a_a
+    # 1表示头部和脖子角度
+    # 2表示脖子和臀部角度
+    # 3表示hip-knee的极差 稳定性
+    # 4表示knee-ankle的极差 稳定性
+    # 3的数据误差太大 待用性待考察
     print(re)
-    return result_ig,re
+    return result_ig, re
 
 
 def ignore_data_gaotaitui(result):
-    result_ig=result
-    k="0"
-    last={}
-    max_index=1
+    result_ig = result
+    k = "0"
+    last = {}
+    max_index = 1
     for re in result:
-        if k=="0":
-            k=re
+        if k == "0":
+            k = re
         else:
-            if(max_index<int(re)):
-                max_index=int(re)
-
+            if (max_index < int(re)):
+                max_index = int(re)
 
-    max_leg_knee_r_angle=result_ig[k]["knee_ankle_r_angle"]
-    max_leg_knee_l_angle=result_ig[k]["knee_ankle_l_angle"]
-    max_leg_knee_angle_num=int(k)
-    panduan={}
+    max_leg_knee_r_angle = result_ig[k]["knee_ankle_r_angle"]
+    max_leg_knee_l_angle = result_ig[k]["knee_ankle_l_angle"]
+    max_leg_knee_angle_num = int(k)
+    panduan = {}
     for i in result_ig:
-        if(float(result_ig[i]["l_d"])<30):
-            if(float(result_ig[i]["knee_ankle_r_angle"])>120 and float(result_ig[i]["hip_knee_r_angle"])<90):
-                panduan[i]=result_ig[i]["r_d"]
-    f=0
-    ma=0
-    key_k=0
+        if (float(result_ig[i]["l_d"]) < 30):
+            if (float(result_ig[i]["knee_ankle_r_angle"]) > 120 and float(result_ig[i]["hip_knee_r_angle"]) < 90):
+                panduan[i] = result_ig[i]["r_d"]
+    f = 0
+    ma = 0
+    key_k = 0
     for key in panduan:
-        if f==0:
-            ma=panduan[key]
-            f=1
-            key_k=key
-        elif float(ma)>float(panduan[key]):
-            key_k=key
-            ma=panduan[key]
+        if f == 0:
+            ma = panduan[key]
+            f = 1
+            key_k = key
+        elif float(ma) > float(panduan[key]):
+            key_k = key
+            ma = panduan[key]
 
-    re={}
-    re["1"]={}
-    re["1"]["num"]=key_k
-    re["1"]["val"]=ma
-    re["1"]["hip_knee_r_angle"]=result_ig[key_k]["hip_knee_r_angle"]
-    re["1"]["knee_ankle_r_angle"]=result_ig[key_k]["knee_ankle_r_angle"]
+    re = {}
+    re["1"] = {}
+    re["1"]["num"] = key_k
+    re["1"]["val"] = ma
+    re["1"]["hip_knee_r_angle"] = result_ig[key_k]["hip_knee_r_angle"]
+    re["1"]["knee_ankle_r_angle"] = result_ig[key_k]["knee_ankle_r_angle"]
 
+    return result_ig, re
 
-    return result_ig,re
 
 def ignore_data_jump(result):
-    result_ig=result
-    k="0"
-    last={}
-    max_index=1
+    result_ig = result
+    k = "0"
+    last = {}
+    max_index = 1
     for re in result:
-        if k=="0":
-            k=re
+        if k == "0":
+            k = re
         else:
-            if(max_index<int(re)):
-                max_index=int(re)
+            if (max_index < int(re)):
+                max_index = int(re)
 
     print(result_ig)
-    max_leg_knee_angle=result_ig[k]["knee_ankle_angle"]
-    max_leg_knee_angle_num=int(k)
-    less_angle=100
-    less_num=1
-    ankle=result_ig[k]["leg_heigh"]
-    ankle_num=int(k)
-    max_leg_knee_hip_knee=math.fabs(float(result_ig[k]["hip_knee_angle"])-float(result_ig[k]["knee_ankle_angle"]))
-    max_l_h_num=1
-    hip_hei_init=float(result_ig[k]["hip_heigh"])
-    #print("max")
-    #print(max_index)
-    #print(hip_hei_init)
+    max_leg_knee_angle = result_ig[k]["knee_ankle_angle"]
+    max_leg_knee_angle_num = int(k)
+    less_angle = 100
+    less_num = 1
+    ankle = result_ig[k]["leg_heigh"]
+    ankle_num = int(k)
+    max_leg_knee_hip_knee = math.fabs(float(result_ig[k]["hip_knee_angle"]) - float(result_ig[k]["knee_ankle_angle"]))
+    max_l_h_num = 1
+    hip_hei_init = float(result_ig[k]["hip_heigh"])
+    # print("max")
+    # print(max_index)
+    # print(hip_hei_init)
 
     for i in result_ig:
-        if int(i)<=max_index/5:
-            if float(max_leg_knee_angle)<float(result_ig[i]["knee_ankle_angle"]):
-                max_leg_knee_angle_num=int(i)
-                max_leg_knee_angle=result_ig[i]["knee_ankle_angle"]
-        if int(i)<=max_index/2 and int(i)>max_index/3:
-            val=math.fabs( math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"])))
-            if(math.fabs( math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"])))<less_angle):
-                less_angle=val
-                less_num=int(i)
-
-        if int(i)<=max_index and int(i)>(max_index/3):
-
-            if(float(result_ig[i]["hip_heigh"]))<(float(hip_hei_init)) and max_l_h_num!=1:
+        if int(i) <= max_index / 5:
+            if float(max_leg_knee_angle) < float(result_ig[i]["knee_ankle_angle"]):
+                max_leg_knee_angle_num = int(i)
+                max_leg_knee_angle = result_ig[i]["knee_ankle_angle"]
+        if int(i) <= max_index / 2 and int(i) > max_index / 3:
+            val = math.fabs(
+                math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(float(result_ig[i]["knee_ankle_angle"])))
+            if (math.fabs(math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(
+                    float(result_ig[i]["knee_ankle_angle"]))) < less_angle):
+                less_angle = val
+                less_num = int(i)
+
+        if int(i) <= max_index and int(i) > (max_index / 3):
+
+            if (float(result_ig[i]["hip_heigh"])) < (float(hip_hei_init)) and max_l_h_num != 1:
                 break
-            if (math.fabs(math.fabs(float(result_ig[i]["hip_knee_angle"]))-math.fabs(float(result_ig[i]["knee_ankle_angle"]))))>max_leg_knee_hip_knee and math.fabs(float(result_ig[i]["leg_heigh"])-float(ankle))<=20:
-                max_leg_knee_hip_knee=math.fabs(float(result_ig[i]["hip_knee_angle"])-math.fabs(float(result_ig[i]["knee_ankle_angle"])))
-                max_l_h_num=int(i)
+            if (math.fabs(math.fabs(float(result_ig[i]["hip_knee_angle"])) - math.fabs(
+                    float(result_ig[i]["knee_ankle_angle"])))) > max_leg_knee_hip_knee and math.fabs(
+                    float(result_ig[i]["leg_heigh"]) - float(ankle)) <= 20:
+                max_leg_knee_hip_knee = math.fabs(
+                    float(result_ig[i]["hip_knee_angle"]) - math.fabs(float(result_ig[i]["knee_ankle_angle"])))
+                max_l_h_num = int(i)
 
             #    ankle=result_ig[i]["leg_heigh"]
             #    ankle_num=int(i)
-            #elif ankle!=1 and int(i)>=(le/3*2):
+            # elif ankle!=1 and int(i)>=(le/3*2):
             #    break
 
     print(max_leg_knee_angle)
     print(max_leg_knee_angle_num)
     print(less_num)
     print(less_angle)
-    #print(ankle)
-    #print(ankle_num)
+    # print(ankle)
+    # print(ankle_num)
     print(max_leg_knee_hip_knee)
     print(max_l_h_num)
-    re={}
-    re["1"]={}
-    re["1"]["num"]=max_leg_knee_angle_num
-    re["1"]["val"]=max_leg_knee_angle
-    re["2"]={}
-    re["2"]["num"]=less_num
-    re["2"]["val"]=less_angle
-    re["3"]={}
-    re["3"]["num"]=max_l_h_num
-    re["3"]["val"]=max_leg_knee_hip_knee
+    re = {}
+    re["1"] = {}
+    re["1"]["num"] = max_leg_knee_angle_num
+    re["1"]["val"] = max_leg_knee_angle
+    re["2"] = {}
+    re["2"]["num"] = less_num
+    re["2"]["val"] = less_angle
+    re["3"] = {}
+    re["3"]["num"] = max_l_h_num
+    re["3"]["val"] = max_leg_knee_hip_knee
     print(re)
 
-
-    return result_ig,re
+    return result_ig, re
 
 
 def ignore_data_shendun(result):
-    result_ig=result
-    k="0"
-    last={}
-    max_index=1
+    result_ig = result
+    k = "0"
+    last = {}
+    max_index = 1
     for re in result:
-        if k=="0":
-            k=re
+        if k == "0":
+            k = re
         else:
-            if(max_index<int(re)):
-                max_index=int(re)
-
+            if (max_index < int(re)):
+                max_index = int(re)
 
-    max_d_num=k
-    max_d=result[k]["r_d"]
+    max_d_num = k
+    max_d = result[k]["r_d"]
     for i in result_ig:
-        if(float(result_ig[i]["r_d"])>float(max_d)):
-            max_d_num=int(i)
-            max_d= result_ig[i]["r_d"]
+        if (float(result_ig[i]["r_d"]) > float(max_d)):
+            max_d_num = int(i)
+            max_d = result_ig[i]["r_d"]
 
+    re = {}
+    re["1"] = {}
+    re["1"]["num"] = max_d_num
+    re["1"]["val"] = max_d
 
-    re={}
-    re["1"]={}
-    re["1"]["num"]=max_d_num
-    re["1"]["val"]=max_d
+    # 1最大的深蹲角度
+    return result_ig, re
 
-    #1最大的深蹲角度
-    return result_ig,re
 
-def write1(result,name):
-    output=open(name,"w")
+def write1(result, name):
+    output = open(name, "w")
     for re in result:
-        print(re,file=output)
-        for(name,value) in result[re].items():
-            print(name,value,sep=',',file=output)
-        print("kv-over",file=output)
+        print(re, file=output)
+        for (name, value) in result[re].items():
+            print(name, value, sep=',', file=output)
+        print("kv-over", file=output)
     output.close()
     return name
 
 
-def run(video_path,mode,need_split=1):
-    path=video_path
+def run(video_path, mode, need_split=1):
+    path = video_path
     os.path.split(path)
-    tur=os.path.split(path)
-    name=tur[len(tur)-1].split('.')[0]
-    if(need_split==1):
-        c=split_video(video_path)
-        process_photo(name,c)
+    tur = os.path.split(path)
+    name = tur[len(tur) - 1].split('.')[0]
+    if (need_split == 1):
+        c = split_video(video_path)
+        process_photo(name, c)
         gather_video(video_path)
-    do_analysis("./capture_image/"+name+"/capture_image{}-1.png.npy",video_path,mode)
+    do_analysis("./capture_image/" + name + "/capture_image{}-1.png.npy", video_path, mode)
 
-    switch = {'longjump': ignore_data_jump,                # 注意此处不要加括号
+    switch = {'longjump': ignore_data_jump,  # 注意此处不要加括号
               'pingban': ignore_data_pingban,
               'juanfu': ignore_data_juanfu,
-              'shendun':ignore_data_shendun,
-              'gaotaitui':ignore_data_gaotaitui,
+              'shendun': ignore_data_shendun,
+              'gaotaitui': ignore_data_gaotaitui,
               }
-    choice = mode                        # 获取选择
-    result,re=switch.get(choice,  ignore_data_jump)(read2("./cap_file/"+name+"/file1.txt"))
+    choice = mode  # 获取选择
+    result, re = switch.get(choice, ignore_data_jump)(read2("./cap_file/" + name + "/file1.txt"))
     # 执行对应的函数,如果没有就执行默认的函数
-    #result,re=ignore_data_juanfu(read2("./cap_file/"+name+"/file1.txt"))
-    write1(result,"./cap_file/"+name+"/file3.txt")
-    write1(re,"./cap_file/"+name+"-file.txt")
-    #write1()
+    # result,re=ignore_data_juanfu(read2("./cap_file/"+name+"/file1.txt"))
+    write1(result, "./cap_file/" + name + "/file3.txt")
+    write1(re, "./cap_file/" + name + "-file.txt")
+    # write1()
     return re
 
+
 if __name__ == '__main__':
     video_path = "./video/shendun.mp4"
-    #path=video_path
-    #os.path.split(path)
-    #tur=os.path.split(path)
-    #name=tur[len(tur)-1].split('.')[0]
-
-
-    #c=split_video(video_path)
-    #process_photo(name,c)
-    #gather_video(video_path)
-    #do_analysis("./capture_image/"+name+"/capture_image{}-1.png.npy",video_path,"shendun")
-    #result,re=ignore_data_shendun(read2("./cap_file/"+name+"/file1.txt"))
-    #write1(result,"./cap_file/"+name+"/file3.txt")
-    #write1(re,"./cap_file/"+name+"-file.txt")
-    #write1()
-    #print(re)
-    re=run(video_path,"shendun",0)
-    #参数一 video_path
-    #参数二 shendun jump gaotaitui juanfu pingbanzhicheng
-    #第三个参数为1 表示需要视频切割
-
-
+    # path=video_path
+    # os.path.split(path)
+    # tur=os.path.split(path)
+    # name=tur[len(tur)-1].split('.')[0]
+
+    # c=split_video(video_path)
+    # process_photo(name,c)
+    # gather_video(video_path)
+    # do_analysis("./capture_image/"+name+"/capture_image{}-1.png.npy",video_path,"shendun")
+    # result,re=ignore_data_shendun(read2("./cap_file/"+name+"/file1.txt"))
+    # write1(result,"./cap_file/"+name+"/file3.txt")
+    # write1(re,"./cap_file/"+name+"-file.txt")
+    # write1()
+    # print(re)
+    re = run(video_path, "shendun", 0)
+    # 参数一 video_path
+    # 参数二 shendun jump gaotaitui juanfu pingbanzhicheng
+    # 第三个参数为1 表示需要视频切割