我想用Python计算2D数组的高斯加权标准差,有谁知道怎么做?所以基本上应用2D高斯滤波器,但不是用滤波器返回每个数组元素的卷积,我希望它返回一些数组元素周围的高斯加权值的标准偏差。
欢呼声, 托马斯
答案 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中的一般方法)。