本文简要介绍 python 语言中 scipy.spatial.distance.directed_hausdorff
的用法。
用法:
scipy.spatial.distance.directed_hausdorff(u, v, seed=0)#
计算两个二维数组之间的有向 Hausdorff 距离。
对之间的距离使用欧几里得度量来计算。
- u: (M,N) 数组
输入数组,在 N 维中具有 M 个点。
- v: (O,N) 数组
N 维中包含 O 点的输入数组。
- seed: int 或无
本地
numpy.random.RandomState
种子。默认值为 0,即 u 和 v 的随机改组,保证可重复性。
- d: 双倍的
数组 u 和 v 之间的有向 Hausdorff 距离,
- index_1: int
u 中对 Hausdorff 对有贡献的点的索引
- index_2: int
v 中对 Hausdorff 对有贡献的点的索引
- ValueError
如果 u 和 v 的列数不同,则会引发异常。
参数 ::
返回 ::
抛出 ::
注意:
使用 [1] 中说明的早期中断技术和随机抽样方法。尽管最坏情况下的性能是
O(m * o)
(与蛮力算法一样),但这在实践中不太可能,因为输入数据必须要求算法探索每个单点交互,并且在算法将输入点打乱之后.最佳情况下的性能是 O(m),通过选择小于 cmax 的内环距离来满足这一要求,并尽可能多地导致早期中断。作者已经正式表明平均运行时间更接近 O(m)。参考:
[1]A. A. Taha 和 A. Hanbury,“一种计算准确 Hausdorff 距离的有效算法。” IEEE 模式分析和机器智能汇刊,第一卷。 2015 年,第 37 页,第 2153-63 页。
例子:
求两个二维坐标数组之间的有向 Hausdorff 距离:
>>> from scipy.spatial.distance import directed_hausdorff >>> import numpy as np >>> u = np.array([(1.0, 0.0), ... (0.0, 1.0), ... (-1.0, 0.0), ... (0.0, -1.0)]) >>> v = np.array([(2.0, 0.0), ... (0.0, 2.0), ... (-2.0, 0.0), ... (0.0, -4.0)])
>>> directed_hausdorff(u, v)[0] 2.23606797749979 >>> directed_hausdorff(v, u)[0] 3.0
求两个二维坐标数组之间的一般(对称)豪斯多夫距离:
>>> max(directed_hausdorff(u, v)[0], directed_hausdorff(v, u)[0]) 3.0
求生成 Hausdorff 距离(Hausdorff 对)的点的索引:
>>> directed_hausdorff(v, u)[1:] (3, 3)
相关用法
- Python SciPy distance.dice用法及代码示例
- Python SciPy distance.sokalmichener用法及代码示例
- Python SciPy distance.braycurtis用法及代码示例
- Python SciPy distance.cityblock用法及代码示例
- Python SciPy distance.jensenshannon用法及代码示例
- Python SciPy distance.sokalsneath用法及代码示例
- Python SciPy distance.kulczynski1用法及代码示例
- Python SciPy distance.jaccard用法及代码示例
- Python SciPy distance.minkowski用法及代码示例
- Python SciPy distance.pdist用法及代码示例
- Python SciPy distance.rogerstanimoto用法及代码示例
- Python SciPy distance.canberra用法及代码示例
- Python SciPy distance.is_valid_y用法及代码示例
- Python SciPy distance.chebyshev用法及代码示例
- Python SciPy distance.russellrao用法及代码示例
- Python SciPy distance.cdist用法及代码示例
- Python SciPy distance.mahalanobis用法及代码示例
- Python SciPy distance.is_valid_dm用法及代码示例
- Python SciPy distance.sqeuclidean用法及代码示例
- Python SciPy distance.seuclidean用法及代码示例
- Python SciPy distance.kulsinski用法及代码示例
- Python SciPy distance.yule用法及代码示例
- Python SciPy distance.cosine用法及代码示例
- Python SciPy distance.squareform用法及代码示例
- Python SciPy distance.hamming用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.spatial.distance.directed_hausdorff。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。