объект ‘function’ не имеет атрибута ‘fft2’ ошибка scipy

#python #scipy

#python #scipy

Вопрос:

Я борюсь с ошибкой, называемой объектом ‘function’, у которого нет атрибута ‘fft2’. Прежде всего, я импортировал следующее: импорт cv2 импорт matplotlib.pyplot как plt импорт numpy как np из scipy импорт fft После выполнения следующего блока кода в jupyter notebook:

 gainDisplay=1
InImgFFT=fft.fft2(InImg,norm="ortho")
InImgAmplSpec=np.abs(fft.fftshift(InImgFFT))
plt.figure(figsize=(W/DPI 1,H/DPI 1))
plt.imshow(np.clip(InImgAmplSpec*gainDisplay,0,255),cmap = 'rainbow')
plt.suptitle('The amplitude spectrum of the gray scale input image')
plt.show()
  

Я получаю ошибку, указанную в строке с функцией fft.fft2 ()

введите описание изображения здесь

Не могли бы вы помочь мне решить эту ошибку? версия scipy — 1.5.2

Еще одним упоминанием было бы то, что у меня есть среда conda, где я установил все пакеты, но я надеюсь, что это не будет проблемой.

Комментарии:

1. Вы пытались использовать from scipy.fft import fft2 и InImgFFT = fft2(...) ?

2. Проблема, вероятно, в том, что у вас есть функция scipy.fft.fft как переменная fft . Вы также можете просто попытаться импортировать fft снова с from scipy import fft помощью . Убедитесь, что вы ничего не присваиваете переменной fft , прежде чем пытаться вызвать fft.fft2() .

3. Я тоже пробовал это. К сожалению, я получаю эту ошибку при импорте: нет модуля с именем ‘scipy.fft’

4. Возможно, это может быть версия scipy. Одноклассник использовал те же строки кода и работал на него

5. Я пробовал с scipy 1.5.2. и from scipy import fft работает просто отлично. Можете ли вы подтвердить свою версию scipy, распечатав import scipy; print(scipy.__version__) ?.