Hey,

I'm trying to remove both periodic and random noise from an image.

Using :

im=imread('Noise.bmp');
imout=medfilt2(im);
imshow(imout);

I can easily remove all the random noise, but I'm confused how to use FFT (fast furiour transform) to remove the periodic noise. (example shown in attachment). I understand you need to conver the image to the spatial domain, and then use the mask as a multiplier, but can't find any information on how to do so.

The periodic noise is a rough circle, although once i run the random noise remover they deform slightly, so I'm assuming I'd run this after the FFT.

Any help would be appreciated.

Lilly

edit - As a side note I'd be more than happy to use C/Java/vb.net if you believe that would be easier.

On the fourer image you may see anormal peaks on high frequency regions. Write a mask to zero that peaks. Inverse fft the masked image.