This project proposes algorithms for different image processing problems, such as Contrast Enhancement, Image Segmentation, Object Detection, and Noise Reduction.
I propose an algorithm that enhances the contrast of an image similar to the “Auto-Contrast enhancement” feature by Adobe Photoshop 2015. The algorithm increases the contrast dynamically based on each pixel’s value. The algorithm increases pixel values of relatively lighter parts of the image and decreases pixel values of relatively lower parts.
I use color thresholding, morphological filtering and propose custom ship detection algorithms to recognize ships in an image. To achieve segmentation, color thresholding is used on ocean color to binarize all non-ocean parts of the image. Ship detection algorithms are used to differentiate port, docks, and side-boats from ships. Afterward, dilation and erosion lead to a clear segmentation without small unwanted objects in the segment.
I use color thresholding and morphological filtering methods to segment a human standing under a tree in an image. To achieve segmentation, color thresholding is used for different colors of the body such as clothes, face, and hair. Afterward, dilation and erosion lead to a clear segmentation without small unwanted objects in the segment.
In the frequency domain, noise can be separated from image content. As wavelets can transform an image to the frequency domain, they may detect image noise. I test different wavelet methods are tested to detect and then reduce Gaussian noise in an image.
(a), (d), (g) Gaussian-noised images
(b), (e), (h) Processed images with Bayes’ algorithm
(c), (f), (i) Processed images with Steins’ algorithm
Each project contains a short paper explaining the proposed algorithm. Simply run the .m file using MATLAB.