降低图像傅立叶变换的相位和幅度的影响是什么?如何用matlab完成?我有一个图像A,我想将图像A的傅立叶变换的相位设置为零,然后使图像A的变换幅度为零,并在图像上看到效果。
我该怎么办?
enter code here
image=imread('sample.tif');
F=fft2(image);
F2=fftshift(F);
F_inverse=ifft2(F);
subplot(2,2,1);imshow(image);
title('Original Image');
subplot(2,2,2);imshow(log(1+abs(F2)),[]);
title('Fourier Spectrum');
subplot(2,2,3);imshow(angle(F2),[-pi pi]);
title('Fourier Phase');
subplot(2,2,4);imshow(F_inverse,[]);
title('Inverse Fourier');
答案 0 :(得分:0)
f1 = real(F);
f2 = imag(F);
magnitude = abs(F);
Fnew=real(ifft2(f0)); % set all phases to zero
figure,imagesc(Fnew)
如果将所有幅度设置为零,则像素均为零。您可以自己设置两个参数a
和b
,并观察real(ifft2(a*f1 + i*b*f2))
与imagesc