Azzera filtri
Azzera filtri

how to takeout low frequency components from an image

4 visualizzazioni (ultimi 30 giorni)
hi, here i have to do a process please help how to approach for it??
ft_image=fftshift(fft2(image));
after this i want to take out low frequency components into an array.
so first i need to apply low pass filter. i am trying this function
but here i have a doubt what is size(sze) of filter means???
so please help me.
thank you in advance.

Risposte (2)

Wayne King
Wayne King il 22 Nov 2011
Hi, you can create a high-pass separable filter and do that:
[x,y] = meshgrid(-200:200);
r = hypot(x,y);
km = 0.8*pi;
rm = 200;
w = rm/10;
term1 = sin( (km * r.^2) / (2 * rm) );
term2 = 0.5*tanh((rm - r)/w) + 0.5;
g = (term1 .* term2 + 1) / 2;
imshow(g, 'XData', [-.8 .8], 'YData', [-.8 .8])
axis on
xlabel('Normalized frequency'), ylabel('Normalized frequency')
title('Test pattern')
b2 = fir1(30, 0.3, 'high');
h2 = b2' * b2;
g2 = imfilter(g, h2);
imshow(g2, [], 'XData', [-.8 .8], 'YData', [-.8 .8])
axis on
xlabel('Normalized frequency'), ylabel('Normalized frequency')

Image Analyst
Image Analyst il 22 Nov 2011
size() is a built-in function that you can look up in the help and get a lot faster answer than you can get by posting here and having someone tell you or refer you to the help.

Categorie

Scopri di più su Images in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by