Due date: Friday February 16th 2018
Weight: 10% of final mark

The purpose of this assignment is to perform patterned noise removal in the spectral space of images. You are given a noisy image and its original version. The first step is to characterize the spectral structure of the noise by producing an image resulting in the subtraction of the noisy image from the original image. The result should be an image containing only the noise elements (make sure you scale the result of the subtraction between 0 and 255).

The second step is to take a Fast Fourier Transform of this image and convert the result into an image of the log-magnitude of the power spectrum. The spectral structure of the noise should clearly appear in this log-magnitude image.

The next step is to localize the log-magnitude maxima found in the image and to design a Gaussian-based multiplicative filter to attenuate the noise. Generally, we define the multiplicative filter as 1 - (G1 + G2 + ... + Gn) where Gi is a Gaussian centered at the position of a log-magnitude extremum found in the log-magnitude image of the power spectrum of the noise.

Perform the multiplication of the filter with the Fourier Transform of the noisy image, and convert the result into an image using an inverse Fast Fourier Transform. Subtract this denoised image with the original image and square the result. Find the variance for the Gaussians that minimize this difference.

General Directives

Use OpenCV Library routines to facilitate your work. A good textbook on OpenCV is available here. Your assignment must include the program code, images of the results, and a conclusion. Your report must be typed and display a cover page. Indicate your name and the assignment number on the cover page. Submit the assignment to OWL.