У меня есть изображение 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,) для данных изображения