也许这只是我的误解,但是如何重用pyfftw对象呢?你知道吗
当我运行如下代码时,img1_fft
和img2_fft
是相同的,尽管接收到不同的输入。当我取消对重构fftwObj
的行的注释时,我得到了所需的输出。你知道吗
inArray = pyfftw.empty_aligned(optimalSize, dtype='complex64')
inArray[ 0:img1.shape[0] , 0:img1.shape[1] ] = img1;
fftwObj = pyfftw.builders.fft2(inArray)
img1_fft = fftwObj(inArray)
inArray = pyfftw.empty_aligned(optimalSize, dtype='complex64')
inArray[ 0:img2.shape[0] , 0:img2.shape[1] ] = img2;
# fftwObj = pyfftw.builders.fft2(inArray)
img2_fft = fftwObj(inArray)
既然“计划”的全部目的是不必重建pyfftw对象,我是不是做错了什么?我只想使用相同的pyfftw对象(因为我所有的图像都是相同大小的),只需更改对象的输入。你知道吗
这是故意的。除了显式外,没有输出数组的副本,因此
img2_fft is img1_fft
返回True
。你知道吗可以使用
.copy()
复制输出,也可以从自己的数组显式地set the output array。你知道吗相关问题 更多 >
编程相关推荐