我是python的新手并且收到此错误,请帮我解决。
AttributeError:' module'对象没有属性' fft2'
程序
import numpy, scipy , pylab , wave , scipy.io.wavfile as wav
xs = numpy.arange (1,100,.01)
rate , sample = wav.read("pianotest.wav")
fft2=scipy.fft2(sample) # algo applied
bp=fft2[:]
for i in range(len(bp)):
if i>=10:bp[i]=0
ibp=scipy.ifft2(bp) # inverse algo
print"to check dimension"
print("sampling rate = {} Hz, length = {} samples, channels = {}".format(rate, *sample.shape))
print(sample)
答案 0 :(得分:3)
取代scipy.fft2
和 scipy.ifft2
,执行scipy.fftpack.fft2
或numpy.fft.fft2
。
另外,将import scipy.fftpack2
添加到代码顶部,然后一切正常。
有关scipy.fftpack.fft2
或here的详细信息,请查看here以获取有关numpy.fft.fft2
的信息。
以下是您编辑的代码:
import numpy, scipy , pylab , wave, scipy.fftpack, scipy.io.wavfile as wav
xs = numpy.arange (1,100,.01)
rate , sample = wav.read("pianotest.wav")
fft2=scipy.fftpack.fft2(sample) # algo applied
bp=fft2[:]
for i in range(len(bp)):
if i>=10:bp[i]=0
ibp=scipy.fftpack.ifft2(bp) # inverse algo
print"to check dimension"
print("sampling rate = {} Hz, length = {} samples, channels = {}".format(rate, *sample.shape))
print(sample)
如果仍然无效,请在命令提示符下键入0.14.0
,检查您的scipy版本是否为python -c "import scipy; print scipy.__version__"
。如果它未显示0.14.0
或更高版本,请升级您的scipy
版本。
答案 1 :(得分:1)
答案 2 :(得分:1)