如何在涉及元素索引的2D Numpy数组中的元素上执行算术运算?

时间:2019-10-20 18:56:58

标签: arrays python-3.x numpy

上下文

我正在使用带有Numpy的Python实现2D离散傅里叶变换算法。 根据图像处理理论,为了使图像的变换居中,在执行变换之前,需要将图像的每个强度f(x,y)乘以(-1)^(x + y),其中x和y是强度的指标以二维数组表示图像。

尝试过的事情

显而易见的方法是使用两个for循环遍历每个强度及其指标。

问题

是否有使用Python / Numpy矩阵运算的更优雅/更快的解决方案,还是我应该坚持两个for循环?

1 个答案:

答案 0 :(得分:0)

惯用的方式是:

y,x = np.ogrid[:m,:n]
prefactor = (-1)**(y+x)

m,n当然是操作数数组的尺寸。

相关问题