## Description

1) (100 points) Frequency domain noise filtering

You are given a noisy image (5_1.bmp) which is affected by noise. Figure 1 shows the

noisy image, magnitude and phase of its frequency components. The noise appears in the

frequency domain as the white specks highlighted in red.

(a) (b) (c)

Figure 1: (a) Noisy image (b) magnitude of noisy image’s frequency components (c) phase

of noisy image’s frequency components

Perform filtering in the frequency domain to remove the noise. Show the denoised image,

and the magnitude and phase components of its DFT coefficients (similar to those in Figure

1).

HINTS

i) You may use this code to find magnitude and phase of an image’s frequency

components:

ii) Plot the magnitude and phase of the given noisy image. Use the “data cursor” tool in the

Matlab Figure Window to identify the “abnormal” frequency components that are likely to

be noise (e.g., the white specks in Figure 1).

iii) In order to filter noise, set the above identified frequency components to zero. Due to

the symmetrical properties of the DFT, you need to set all the four noise frequency

components to 0.

im = imread(‘5_1.bmp’);

im = double(im);

%% apply FFT

f = fftshift(fft2(im));

magnitudeF = log(abs(f));

magnitudeF = mat2gray(magnitudeF);

angleF = angle(f);