Python:高斯加权像素区域的标准偏差

时间:2015-07-18 11:15:31

标签: python numpy

我想用Python计算2D数组的高斯加权标准差,有谁知道怎么做?所以基本上应用2D高斯滤波器,但不是用滤波器返回每个数组元素的卷积,我希望它返回一些数组元素周围的高斯加权值的标准偏差。

欢呼声, 托马斯

2 个答案:

答案 0 :(得分:1)

有一个名为std的numpy函数。实施例

    x = np.random.uniform(0,5,(20,20))
    np.std(x)

这将返回20x20阵列的标准偏差。如果你想要图像的特定部分,你可以使用数组拼接来实现这一目标。

答案 1 :(得分:1)

对于返回2D数组的局部标准差的非加权滤波器,您可以使用

scipy.ndimage.filters.generic_filter(image, function=np.std, size=(10, 10)) 

不幸的是,我不认为在标准的科学python模块中有一个功能可以做你想要的。您可能必须编写自己的实现(请参阅this answer中的一般方法)。