上下文
我正在使用带有Numpy的Python实现2D离散傅里叶变换算法。 根据图像处理理论,为了使图像的变换居中,在执行变换之前,需要将图像的每个强度f(x,y)乘以(-1)^(x + y),其中x和y是强度的指标以二维数组表示图像。
尝试过的事情
显而易见的方法是使用两个for循环遍历每个强度及其指标。
问题
是否有使用Python / Numpy矩阵运算的更优雅/更快的解决方案,还是我应该坚持两个for循环?
答案 0 :(得分:0)
惯用的方式是:
y,x = np.ogrid[:m,:n]
prefactor = (-1)**(y+x)
m,n
当然是操作数数组的尺寸。