Filter löschen
Filter löschen

how to takeout low frequency components from an image

4 Ansichten (letzte 30 Tage)
Sandhu
Sandhu am 22 Nov. 2011
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.

Antworten (2)

Wayne King
Wayne King am 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 am 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.

Community Treasure Hunt

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

Start Hunting!

Translated by