def fun(self, x, params):
#skalowanie
s = params[0]
#rotacja
r = params[1:4]
#przesuniecie (translacja)
t = params[4:6]
w = params[6:]
mean3DShape = x[0]
blendshapes = x[1]
#macierz rotacji z wektora rotacji, wzor Rodriguesa
R = cv2.Rodrigues(r)[0]
P = R[:2]
shape3D = mean3DShape + np.sum(w[:, np.newaxis, np.newaxis] * blendshapes, axis=0)
projected = s * np.dot(P, shape3D) + t[:, np.newaxis]
return projected
评论列表
文章目录