#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__)
?.