【发布时间】:2020-03-15 10:47:48
【问题描述】:
我的目标是创建一个二维数组,其中每个位置i,j 都有图像片段的傅里叶变换,image[i][j] 作为左上角的像素。我认为这可以很直接地计算出来。假设我们的图像大小为m,n,段(或者更确切地说是正方形)的大小为s。
A = numpy.empty(shape=(m,n),dtype='object')
for i in range(m):
for j in range(n):
if (m-i >= s) and (n-j >= s):
A[i][j] = numpy.fft.fftn(image[i:i+s,j:j+s]
然后,在一个循环中,我希望将某个阈值下的系数设置为零:
x = A[i][j]
x[np.absolute(x) <= z] = 0
现在的问题是它也改变了A,但是使用深拷贝会减慢大循环。基本上A 不应该改变,但我需要它的元素的快速副本。如何解决问题?
【问题讨论】:
标签: python arrays image image-processing copy