Filter High Pass Using Fourier Transform

10 vues (au cours des 30 derniers jours)
Akbar Ramadhan
Akbar Ramadhan le 27 Fév 2021
Hi, I tried fourier’s transform with a few high pass filters, but the code I made was not showing the process. So, someone could help me check the code.
FFT_ihpf=getimage(handles.axes5);
[M, N]= size(FFT_ihpf);
ft_ihpf=fft2(double(FFT_ihpf));
ihpf=fftshift(ft_ihpf);
figure(1);
imshow(abs(ft_ihpf),[]);
figure(2);
imshow(abs(ihpf),[]);
ihpf_logshift=log(1+abs(ihpf));
% axes (handles.axes10);
figure(3); imshow(abs(ihpf_logshift),[]);
n=2;
D0=20;
% D0= str2double(get(handles.edit5, 'String'));
% D0 =D0/100;
% % u=0:(M-1);
% % v=0:(N-1);
% % idX = find (u > M/2);
% % u(idX) = u(idX) - M;
% % idY = find (v > N/2);
% % v(idY) = v(idY) - N;
u = M/2;
v = N/2;
for i=1:M;
for j=1:N;
[V, U] = meshgrid(v, u);
D = sqrt((i-u).^2+(v-j).^2);
% H = double(D > D0);%IHPF
H = 1./(1 + (D0./D).^(2*n)); %BHPF
% H = 1-exp(-(D)^2/(2*(D0^2)));%GHPF
end
end
filter_G = H .* ihpf_logshift;
% axes(handles.axes11)
figure(4);
imshow(abs(filter_G),[]);
Out_ifft=ifftshift(filter_G);
% axes(handles.axes12)
figure(5);
imshow(abs(Out_ifft),[]);
ori= ifft2(Out_ifft);
figure(6);
imshow(log(abs(ori)));
but the result of IFFT2 showing no image and only black figure. please help me.

Réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by