This repository contains image processing algorithms implemented as a part of EE 569 - Introduction to Digital Image Processing at USC conducted by Professor Jay Kuo.
The high level overview of algorithms implemented in each folder is given below:
------------------HomeWork 1------------------------
Problem 1: Image Demosaicing and Histogram Manipulation
- (a) Bilinear Demosaicing
- (b) Malvar-He-Cutler (MHC) Demosaicing
- (c) Histogram Manipulation
Problem 2: Image Denoising
- (a) Gray-level image
- (b) Color image
- (c) Shot noise
------------------HomeWork 2------------------------
Problem 1: Edge Detection
- (a) Sobel Edge Detector
- (b) Canny Edge Detector
- (c) Structured Edge
- (d) Performance Evaluation
Problem 2: Digital Half-toning
- (a) Dithering
- (b) Error Diffusion
- (c) Color Halftoning with Error Diffusion
------------------HomeWork 3------------------------
Problem 1: Geometric Modification
- (a) Geometric Transformation
- (b) Spatial Warping
- (c) Lens Distortion Correction
Problem 2: Morphological Processing
- (a) Basic Morphological Process Implementation
- (b) Defect Detection and Correction
- (c) Object Analysis
------------------HomeWork 4------------------------
Problem 1: Texture Analysis
- (a) Texture Classification
- (b) Texture Segmentation
- (c) Advanced Texture Segmentation Techniques
Problem 2: Image Feature Extractor
- (a) SIFT
- (b) Image Matching
- (c) Bag of Words
------------------HomeWork 5------------------------
Problem 1: CNN Training and Its Application to the MNIST Dataset
- (a) CNN Architecture and Training
- (b) Train LeNet-5 on MNIST Dataset
- (c) Apply trained network to negative images
------------------HomeWork 6------------------------
Problem 1: Feedforward CNN Design and Its Application to the MNIST Dataset
- (a) Understanding of feedforward-designed convolutional neural networks
- (b) Image reconstructions from Saab coefficients
- (c) Handwritten digits recognition using ensembles of feedforward design