当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy ndimage.center_of_mass用法及代码示例


本文简要介绍 python 语言中 scipy.ndimage.center_of_mass 的用法。

用法:

scipy.ndimage.center_of_mass(input, labels=None, index=None)#

计算标签处数组值的质心。

参数

input ndarray

用于计算center-of-mass的数据。大众可以是正的,也可以是消极的。

labels ndarray,可选

输入中对象的标签,由 ndimage.label 生成。仅与索引一起使用。尺寸必须与输入相同。

index int 或整数序列,可选

计算centers-of-mass的标签。如果未指定,将计算所有大于零的标签的组合质心。仅与标签一起使用。

返回

center_of_mass 元组,或元组列表

centers-of-mass 的坐标。

例子

>>> import numpy as np
>>> a = np.array(([0,0,0,0],
...               [0,1,1,0],
...               [0,1,1,0],
...               [0,1,1,0]))
>>> from scipy import ndimage
>>> ndimage.center_of_mass(a)
(2.0, 1.5)

计算图像中的多个对象

>>> b = np.array(([0,1,1,0],
...               [0,1,0,0],
...               [0,0,0,0],
...               [0,0,1,1],
...               [0,0,1,1]))
>>> lbl = ndimage.label(b)[0]
>>> ndimage.center_of_mass(b, lbl, [1,2])
[(0.33333333333333331, 1.3333333333333333), (3.5, 2.5)]

负质量也被接受,例如,当由于随机噪声从测量数据中消除偏差时,可能会发生这种情况。

>>> c = np.array(([-1,0,0,0],
...               [0,-1,-1,0],
...               [0,1,-1,0],
...               [0,1,1,0]))
>>> ndimage.center_of_mass(c)
(-4.0, 1.0)

如果存在被零除的问题,该函数不会引发错误,而是在返回 inf 和/或 NaN 之前发出 RuntimeWarning。

>>> d = np.array([-1, 1])
>>> ndimage.center_of_mass(d)
(inf,)

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.ndimage.center_of_mass。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。