There are three major steps in the project:
• Design and implement your filtering routine in MATLAB (or C) based on the provided special signals and images and ground truth data.
• Test your routine with the training images by the evaluation program.
• Performance of your routine will be tested in the class presentation with a test image by the same evaluation program.
The course project will consist of either a theoretical analysis of a digital filter or the design, programming, and simulation of a filtering algorithm for a particular application (or some combination of the two).
Potential Projects
Project-1 (Computer or hardware implementation, samples)
1. Develop the programs that implement several noise models (Gaussian, White, Thermal, Impulse (salt-and-pepper), Generalized Gamma dist, uniform, Rayleigh, Exponential and. Periodic). Display the results.
2. Develop a program that implements the nonlinear filters (for ex, develop the programs that implement the Positive and Negative Weighted Median Filters, Mean square error (MSE) measurement is used to evaluate the filter performance. Display the results.
3. Develop a program that implements simple linear and nonlinear filters (for ex, develop the programs that implement the Positive and Negative Weighted Median Filters Spatial Domain Filters such as Arithmetic mean, geometric mean, Harmonic mean filter, Max and min filters, median filter, Contra-harmonic mean filter, Midpoint filter, order statistics filters, Adaptive Filters) Mean square error (MSE) measurement is used to evaluate the filter performance. Display the results.
4. Develop the programs that implement the Morphological filters. Mean square error (MSE) measurement is used to evaluate the filter performance. Display the results.
5. Develop a program that implements an adaptive filter. Mean square error (MSE) measurement is used to evaluate the filter performance. Display the results.
6. Develop a program that implements the Alpha-trimmed and Homomorphic filters. Mean square error (MSE) measurement is used to evaluate the filter performance. Display the results.
Project-2 (Computer or hardware implementation, samples)
1. Develop a program that implements Boolean function based filters
2. Develop a program that implements simple linear/nonlinear filter banks and de-noising procedures.
3. Develop a program for computing the discrete Fourier and windowing Fourier transform of a signal. Display the results.
4. Develop a program that implements the DF based image enhancement algorithms. Display the results.
5. Develop a program that implements the DF based edge detection algorithms. Display the results.
6. Develop a program that implements the DF based signal prediction/ extrapolation algorithms. Display the results.
7. Develop a program that implements the Fourier transform based FIR filters, (including Cesaro, and Vallee Poussin filters), and use the program for signal filtering. Display the results.
8. Develop a program that implements the cosine transform based filters, (including Cesaro, and Vallee Poussin filters), and use the program for signal filtering. Display the results.
Project-3 (Computer or hardware implementation, sample)
1. Develop a program that implements the second-order Peaking and Notching filters. Display the results
2. Verify (experimentally) the basic properties of the Chebyshev system. Develop a program that implements the Chebyshev filters. Display the results
3. Verify (experimentally) the basic properties of the Butterworth system. Develop a program that implements the classical Butterworth filter. Display the results
4. Analysis of Gaussian and Butterworth Band-reject and Notch filters on Enhancing and Cleaning Noisy Images
5. The primary goal of this project is to introduce the concept of the Coordinate Logic Filter and provide exs of two applications of the filter in the area of image processing. The first application, the majority coordinate logic filter, is described and the results of applying the filter to an image with varying paper (impulse) noise are compared. In the last section we will see how a coordinate logic filter can be used to quickly implement an edge detection function. Matlab will be used to execute all exs shown in this project. Specifically it can be used to generate the noise, add the noise to the image, create the filter, apply the filter to the image, measure the filter results, and execute the edge detection algorithm.
6. The goal of this project is to understand the fundamental principles of subband decomposition and filter banks. To help solidify the concepts learned, a simple filter bank is designed to perform basic audio equalization.
7. The purpose of this project is to investigate the utility of using a polynomial filter to improve an image’s appearance when the image is blurred or smeared in some way. (P.Fontanot and G. Ramponi, “A polynomial filter for the preprocessing of mail address images”, IEEE Winter Workshop on Nonlinear Digital Signal Processing, pp.2.1_6.1-2.1_6.6, 1993.N. Otsu, “A Threshold Selection Method from Gray-Level Histograms”, IEEE Trans. on Systems, Man, and Cybernetics, Vol. SMC-9, no.1, pp.62-66, Jan 1979.P.K. Sahoo, S.Soltani, Wong, Chen, “A Survey of Thresholding Techniques”, Computer Vision, Graphics and Image Processing, Vol. 41, pp.233-260, 1988.)
The purpose of these projects is to gain a practical understanding the visual phenomena of the digital filters.
Project Report and Presentation
Title: A Comparison of the Effectiveness of an IIR Notch Filter vs. Fourier series FIR Notch Filter on Low Frequency
Sinusoidal Noise in Images
Table of Contents
- Abstract
- Introduction
- Background
- Filter Design
- Computer Simulations
- Performance Evaluation
- Conclusion
- References
- Matlab Code
Abstract: Maximum 200 words.
The purpose of these projects is to gain a practical understanding the visual phenomena of the Notch Filter and Fourier filters
Introduction: Clearly describe the nature of the problem, purpose, and contribution of the project.
Background: It will consist of either a theoretical analysis of a digital filter or the design, programming, and simulation of a filtering algorithm for a particular application (or some combination of the two).
Filter Design: The purpose of this project is to experiment with designing custom frequency domain filters, or masks, for filtering different kind of noises.
Computer Simulations:
1. Design and implement your filtering routine in MATLAB based on the provided special signals and images and ground truth data.
2. Helps: Activities: Read image and display it. Use functions imread and imagesc. Take the forward Fourier transform and display it. Use the functions fft2 and fftshift
3. Create the frequency filter image.
4. Using the function pixval of image toolbox move the mouse cursor over the magnitude spectrum of the image to determines the coordinates of the "stars" (coherent noise).
5. Use the function put_m.m to help you to put the mask (See put_m.m and put_mask on Workspace).
6. Take the inverse Fourier transform, determine the magnitude spectrum and display the result. Use functions ifft2 and ifftshift.
7. Determine the absolute difference of the two images and display the result.