【发布时间】:2019-12-06 15:14:23
【问题描述】:
我正在对各种大小的图像缓冲区以二维方式计算 fft。我注意到对于某些形状,计算时间会突然增加。
我正在使用 python 3.7 和 numpy 1.16.0。我也尝试了 pyfftw 并且问题没有出现在那里。
这是一个代码示例,突出显示我的 numpy 问题:
import numpy as np
import time
fake_image = np.ones((1000,8192))
for i in range(200,700,50):
crop = fake_image[:,i:]
start = time.time()
res_scipak = np.fft.fft2(crop)
end = time.time()
print(f"{i}: {end-start}")
我得到以下结果:
200: 0.8815453052520752
250: 0.8947739601135254
300: 16.496759176254272
350: 9.420636177062988
400: 4.677924156188965
450: 1.1415870189666748
500: 4.911479711532593
550: 29.64967179298401
600: 1.1793103218078613
650: 3.6275839805603027
我实际上希望在列数减少时看到计算时间减少。
【问题讨论】:
标签: numpy image-processing fft