##**Image Processing**

This repository contains image processing algorithms implemented as a   
part of EE 569 - Introduction to Digital image processing at USC.  

The high level overview of algorithms implemented in each folder is   
given below:  

####**HW1:**   
* Cropping and Resizing    
* Color Space Transformation    
* Histogram Equalization using TF and CDF based approach  
* Image Denoising using Median filter, Mean filter and NLM  

####**HW2:**
* Geometrical Warping  
* Puzzle Matching 
* Homographic Transformation and Image Overlay
* Digital Halftoning using:    
    * Ordered Dithering
    * Floyd-Steinberg's Error Diffusion
    * JJN
    * Stucki
* Image Binarization using simple thresholding
* Morphological Processing
    * Dilation
    * Erosion
* Dilation based Hole filling algorithm
* Dilation and Erosion based hole filling algorithm
* Harris corner detection

####**HW3:**
* Texture Classification using Laws filter and K means
* Texture Segmentation
* Salient Point extraction and description using SIFT and SURF
* Image Matching using SIFT and SURF features

####**HW4:**
* Training and Testing LeNet-5 on MNIST dataset.
* Boosting performance of LeNet-5 on negative images.
* Training and testing LeNet-5 on color image dataset.
* Testing for translational invariance. 


