scipy.ndimage.

standard_deviation#

scipy.ndimage.standard_deviation(input, labels=None, index=None)[source]#

计算 N 维图像数组值的标准差,可选地在指定子区域计算。

参数:
inputarray_like

要处理的 N 维图像数据。

labelsarray_like, 可选

标识 input 中子区域的标签。如果非 None,则必须与 input 形状相同。

indexint 或整数序列,可选

要包含在输出中的 labels。如果为 None(默认值),则使用 labels 非零的所有值。

返回:
standard_deviationfloat 或 ndarray

标准差的值,如果指定了 labelsindex,则对应于每个子区域。

另请参见

label, variance, maximum, minimum, extrema

示例

>>> import numpy as np
>>> a = np.array([[1, 2, 0, 0],
...               [5, 3, 0, 4],
...               [0, 0, 0, 7],
...               [9, 3, 0, 0]])
>>> from scipy import ndimage
>>> ndimage.standard_deviation(a)
2.7585095613392387

可以使用 labelsindex 指定要处理的特征

>>> lbl, nlbl = ndimage.label(a)
>>> ndimage.standard_deviation(a, lbl, index=np.arange(1, nlbl+1))
array([ 1.479,  1.5  ,  3.   ])

如果未指定索引,则处理非零 labels

>>> ndimage.standard_deviation(a, lbl)
2.4874685927665499