[~] Refactor
This commit is contained in:
parent
e4d5c45181
commit
5d2fd9fa75
@ -1415,6 +1415,56 @@ def kernel_21():
|
||||
)
|
||||
|
||||
def kernel_22(o_18):
|
||||
def get_angle(a,b):
|
||||
from math import sqrt, acos, degrees, atan, degrees
|
||||
#print(a)
|
||||
#print(b)
|
||||
del_y = a[1]-b[1]
|
||||
del_x = b[0]-a[0]
|
||||
if del_x == 0:
|
||||
del_x = 0.1
|
||||
#print("Del_X : "+str(del_x)+"-----Del_Y: "+str(del_y))
|
||||
angle = 0
|
||||
|
||||
if del_x > 0 and del_y > 0:
|
||||
angle = degrees(atan(del_y / del_x))
|
||||
elif del_x < 0 and del_y > 0:
|
||||
angle = degrees(atan(del_y / del_x)) + 180
|
||||
|
||||
return angle
|
||||
|
||||
def angle_gor(a,b,c,d):
|
||||
from math import sqrt, acos, degrees, atan, degrees
|
||||
ab=[a[0]-b[0],a[1]-b[1]]
|
||||
ab1=[c[0]-d[0],c[1]-d[1]]
|
||||
cos=abs(ab[0]*ab1[0]+ab[1]*ab1[1])/(sqrt(ab[0]**2+ab[1]**2)*sqrt(ab1[0]**2+ab1[1]**2))
|
||||
ang = acos(cos)
|
||||
return ang*180/np.pi
|
||||
|
||||
|
||||
def sit_ang(a,b,c,d):
|
||||
ang=angle_gor(a,b,c,d)
|
||||
s1=0
|
||||
if ang != None:
|
||||
#print("Angle",ang)
|
||||
if ang < 120 and ang>40:
|
||||
s1=1
|
||||
return s1
|
||||
|
||||
def sit_rec(a,b,c,d):
|
||||
from math import sqrt, acos, degrees, atan, degrees
|
||||
|
||||
ab = [a[0] - b[0], a[1] - b[1]]
|
||||
ab1 = [c[0] - d[0], c[1] - d[1]]
|
||||
l1=sqrt(ab[0]**2+ab[1]**2)
|
||||
l2=sqrt(ab1[0]**2+ab1[1]**2)
|
||||
s=0
|
||||
if l1!=0 and l2!=0:
|
||||
#print(l1,l2, "---------->>>")
|
||||
if l2/l1>=1.5:
|
||||
s=1
|
||||
return s
|
||||
|
||||
t1 = o_18['t2']['t7']
|
||||
t2 = [
|
||||
numpy.array(o['keypoints']).reshape(17, 3)
|
||||
@ -1454,6 +1504,74 @@ def kernel_22(o_18):
|
||||
for i, o in enumerate(t1)
|
||||
]
|
||||
|
||||
for i, o in enumerate(t4):
|
||||
t1 = o['keypoints']
|
||||
t2 = get_angle(
|
||||
t1[3, :2],
|
||||
t1[4, :2],
|
||||
)
|
||||
t3 = get_angle(
|
||||
t1[6, :2],
|
||||
t1[7, :2],
|
||||
)
|
||||
t4 = 0
|
||||
if 30 < t2 and t2 < 150:
|
||||
t4 = 1
|
||||
t5 = 0
|
||||
if 30 < t3 and t3 < 150:
|
||||
t5 = 1
|
||||
t6 = t4 + t6
|
||||
t7 = 0
|
||||
if t6 == 1:
|
||||
t7 = 1
|
||||
t8 = 0
|
||||
t8 += sit_rec(
|
||||
t1[9, :2],
|
||||
t1[10, :2],
|
||||
t1[10, :2],
|
||||
t1[11, :2],
|
||||
)
|
||||
t8 += sit_rec(
|
||||
t1[12, :2],
|
||||
t1[13, :2],
|
||||
t1[13, :2],
|
||||
t1[14, :2],
|
||||
)
|
||||
t9 = 0
|
||||
t9 += sit_ang(
|
||||
t1[9, :2],
|
||||
t1[10, :2],
|
||||
t1[10, :2],
|
||||
t1[11, :2],
|
||||
)
|
||||
t9 += sit_ang(
|
||||
t1[12, :2],
|
||||
t1[13, :2],
|
||||
t1[13, :2],
|
||||
t1[14, :2],
|
||||
)
|
||||
t10 = 0
|
||||
if t8 > 0 or t9 > 0:
|
||||
t10 = 1
|
||||
t11 = 0
|
||||
if t8 == 0 and t9 == 0:
|
||||
t11 = 1
|
||||
o.update(
|
||||
dict(
|
||||
t2=t2,
|
||||
t3=t3,
|
||||
t4=t4,
|
||||
t6=t6,
|
||||
t6=t6,
|
||||
t7=t7,
|
||||
t8=t8,
|
||||
t9=t9,
|
||||
t10=t10,
|
||||
t11=t11,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
return dict(
|
||||
t4=t4,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user