how to takeout low frequency components from an image
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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.
0 comentarios
Respuestas (2)
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')
0 comentarios
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.
0 comentarios
Ver también
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!