Borrar filtros
Borrar filtros

how to takeout low frequency components from an image

2 visualizaciones (últimos 30 días)
Sandhu
Sandhu el 22 de Nov. de 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.

Respuestas (2)

Wayne King
Wayne King el 22 de Nov. de 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 el 22 de Nov. de 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.

Categorías

Más información sobre Surface and Mesh Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by