Implementations of Fourier Transform, Laplacian Pyramids, Edge Detection
This repository describes Image Processing techniques such as Fourier Transform, Laplacian Pyramids, Edge Detection using Difference of Gaussian, Laplacian of Gaussian. These were implemented as part of assignments for the course CSE573: Computer Vision and Image Processing at University at Buffalo, The State University of New York during Fall 2016.
Execution requires the following packages
- Numpy
- Matplotlib
- Scipy
Fourier Transform is an important image processing tool to decompose an image to its sine-cosine compositions. The output of this technique represents the image in the frequency domain transformed from the spatial domain. A detailed expaination about Fourier Transformations of Images can be found here
Fourier Transform can be executed with the command python FourierTransform.py
Mean Squared Error between Input Image and the inverse transform is 1.1592e-18
Laplacian Pyramids is a pyramid representation of images obtained by repeated smoothing and subsampling saving the difference image between the original and smoothed image at each subsampled level. This technique can be used in image compression.
Laplacian Pyramids can be executed with the command python LaplacianPyramids.py
Input Image
Laplacian Pyramid
Reconstructed Image
A mean squared error of 0 was obtained between the input image and reconstructed image indicating perfect reconstruction
Edge Detection is a image processing technique to find boundaries of objects in an image. It is performed by detecting areas in the image with rapid changing intensity. It is used in image segmentation and data extraction.
Edge Detectors can be executed with the command python main.py
Input Image
Difference of Gaussian works by performing Gaussian blurs of different radius on an image and then computing the difference between the outputs of the blurring. Edges are detected by detection of zero crossings in the image and thresholding to keep only the strong edges.
Difference of Gaussian Edge Detector
Laplacian of Gaussian is a second-derivative image processing technique of identifying areas of rapid change(edge) in images. An image is filtered using a Gaussian filter to blur the image and avoid noise. This is done because the Laplacian filter is very sensitive to rapid change including noise. Zero crossing is detected to identify edges in the image.
Laplacian of Gaussian Edge Detector