目录
效果:
计算两个相似折现
import numpy as np
from scipy.optimize import minimize
import cv2
# 定义一个函数来计算两个骨骼之间的距离总和
def similarity(angles):
# 重构骨骼 B
skeleton_B = [start_point_B]
for i, angle in enumerate(angles):
direction = np.array([np.cos(angle), np.sin(angle), 0])
new_joint = skeleton_B[-1] + direction * joint_lengths_B[i]
skeleton_B.append(new_joint)
skeleton_B = np.array(skeleton_B)
# 计算关节方向向量之间的夹角和骨骼的整体形状
angle_diff = 0
shape_diff = 0
for i in range(1, len(skeleton_B) - 1):
vec_a_A = skeleton_A[i] - skeleton_A[i - 1]
vec_b_A = skeleton_A[i + 1] - skeleton_A[i]
vec_a_B