Как рассчитать БПФ изображения в python? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть изображение 32x32. Я конвертирую эти изображения в разные патчи. Теперь я хочу найти БПФ. Как мне это сделать? Пробую следующий код:

from PIL import Image
import matplotlib.pylab as plt
import cv2
import numpy as np
import numpy
import statistics
colorIm=Image.open(r'/content/drive/My Drive/Colab Notebooks/Asplabwork/cifar/image31.png')
greyIm=colorIm.convert('L')
colorIm=np.array(colorIm)
greyIm=np.array(greyIm)

N=5
S=greyIm.shape
E=np.array(greyIm)

for row in range(S[0]):
    for col in range(S[1]):
            Lx=np.max([0,col-N])      # [0,-5]---> 0
            Ux=np.min([S[1],col+N])   #[32, 5] --->5
            Ly=np.max([0,row-N])      # [0,-5] --->0
            Uy=np.min([S[0],row+N])   #[32, 5] ---->5
            region=greyIm[Ly:Uy,Lx:Ux].flatten()
             fft = np.fft.fft(region)
            fftshift = np.fft.fftshift(fft)
            mag = 20*np.log(np.abs(fftshift))
      plt.imshow(mag) 

Ошибка: Ошибка типа: Неверная форма (36,) для данных изображения

...