Felüláteresztő szűrő
Felüláteresztő szűrő esetében az magasabb frekvenciák (élek, zajok) jelennek csak meg a képen. A megoldása Matlabban hasonló, mint az aluláteresztő szűrőé:
function H = ideal_highpass( M, N, D0 )
%% M, N: a szűrő mérete, D0 nemnegatív szám (sugár)
u=0:(M-1);
v=0:(N-1);
idx = find(u>M/2); %% kigyujti az indexeket, amelynél u > M/2
u(idx)=u(idx)-M;
idy = find(v>N/2); %% kigyujti az indexeket, amelynél v > N/2
v(idy)=v(idy)-N;
[V,U] = meshgrid(v,u);
D=sqrt(U.^2 + V.^2);
H = double(D >= D0);
end
>> img = imread( 'Columbo.JPG' );
>> fft_img = fft2( img );
>> fft_img2 = fftshift( fft_img );
>> [M,N] = size( img );
>> H = ideal_highpass( M,N,60.0 );
>> H1 = fftshift( H );
>> filt_fft = fft_img2 .* H1;
>> filt_ifft = ifft2( ifftshift( filt_fft ) );
>> imshow( filt_ifft,[0 255] );
![]() |
![]() |
|
Eredeti kép | filt_fft | Eredmény kép IFFT után |