當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。