如何计算python中大矩阵(平均滤波器)的每个坐标的有效局部平均值

我有大矩阵,4000×4000
我需要为此矩阵的每个x,y计算11×11窗口的局部平均值
通常它必须是这样的

for x in range(4000)
  for y in range(4000)
    b[x,y]=mean(a[x-5:x+5,y-5:y+5]

但这将耗费大量时间
这是一种更有效的方法吗?
谢谢.

解决方法:

你基本上想要一个二维卷积. Scipy可以为你做到这一点:http://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.convolve2d.html

事实上在SO上有一个类似的答案:
2d convolution using python and numpy

上一篇:PHP MYSQL – 相同查询中的计数和平均值


下一篇:在Javascript中使用回调函数的数组平均值