Я считаю, что что-то не так, когда я конвертирую его обратно с помощью ifft2 (). Я пытаюсь использовать идеальный фильтр нижних частот, создавая матрицу L, которая имеет круг с 1 и радиусом 50. Было бы здорово, если бы вы, ребята, могли сказать мне, в чем проблема. Спасибо!
I0 = imread('image.png');
g = I0(:,:,1);
Rg = imref2d(size(g));
G = fft2(g);
AG1 = log(1+abs(G));
MaxVal = max(max(AG1));
AG2 = uint8(255*(AG1/MaxVal));
SAG2 = fftshift(AG2);
%zero matrix L with a circle with value 1's with radius 50
[xGrid,yGrid] = meshgrid(1:400,1:400);
L = sqrt((xGrid - 200).^2 + (yGrid - 200).^2) <= 50;
U = uint8(double(SAG2).*L);
a=ifft2(U);
u = uint8(real(ifft2(U)));
imshow(u,'InitialMagnification',300);