dist_ske 函数的执行结果

如果ske1=track_proposals[i]['data'][-1][1]=[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]

而ske2=poses[0]= [0.12, 0.23, 0.34, 0.45, 0.56, 0.67, 0.78, 0.89, 1.0, 1.11]

思考一下

然后执行def dist_ske(ske1, ske2):会得到什么?

def dist_ske(ske1, ske2):
    dist = np.linalg.norm(ske1[:, :2] - ske2[:, :2], axis=1) * 2
    diff = np.abs(ske1[:, 2] - ske2[:, 2])
    return np.sum(np.maximum(dist, diff))

pyskl/demo/demo_skeleton.py at main · kennymckormick/pyskl · GitHub

`self.dist_func = dist_func` 是 Python 中类的一个方法,其作用是将输入的 `dist_func` 函数赋值给类的实例属性 `dist_func`。 例如,当我们定义一个类 `Point`,并且有一个方法 `set_dist_func`,其作用是将一个函数作为参数传入,并将该函数赋值给实例属性 `dist_func`,代码如下: ``` class Point: def __init__(self, x, y): self.x = x self.y = y self.dist_func = None def set_dist_func(self, dist_func): self.dist_func = dist_func ``` 在这个例子中,我们定义了一个 `Point` 类,该类有 `x` 和 `y` 两个实例属性,以及一个名为 `set_dist_func` 的方法,该方法将一个函数作为参数传入,并将其赋值给实例属性 `dist_func`。 例如,我们定义一个计算两个点之间欧几里得距离的函数 `euclidean_distance`,然后通过 `set_dist_func` 方法将该函数赋值给一个 `Point` 实例的 `dist_func` 属性,代码如下: ``` import math def euclidean_distance(p1, p2): return math.sqrt((p1.x - p2.x)**2 + (p1.y - p2.y)**2) p1 = Point(0, 0) p2 = Point(3, 4) p1.set_dist_func(euclidean_distance) print(p1.dist_func(p1, p2)) # 输出 5.0 ``` 在这个例子中,我们创建了两个 `Point` 实例 `p1` 和 `p2`,其中 `p1` 的坐标为 `(0, 0)`,`p2` 的坐标为 `(3, 4)`。然后,我们将 `euclidean_distance` 函数通过 `set_dist_func` 方法赋值给 `p1` 实例的 `dist_func` 属性。最后,我们调用 `p1.dist_func(p1, p2)` 方法计算 `p1` 和 `p2` 之间的欧几里得距离,并输出结果 `5.0`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值