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:
------------------HW1------------------------
Q1. Basic Image Manipulation
a. Color Space Transformation
- Color to gray scale conversion
- CMY(K) color space
b. Image Resizing via Bilinear Interpolation
c. Layer Blending Mode Implementation - Multiply Blending
Q2. Histogram Equalization
a. Histogram Equalization
- Transfer-function-based histogram equalization method
- Cumulative-probability-based histogram equalization method
b. Image Filtering – Creating Oil Painting Effect
c. Image Filtering – Creating Film Special Effect
Q3. Noise Removal
a. Mix Noise in Color Image
b. Principal component analysis (PCA)
c. Block Matching and 3-D (BM3D) transform filter
----------------------HW2---------------------------
Q1. Geometric Image Modification
a. Geometrical Warping
b. Homographic Transformation and Image Stitching
Q2. Digital Halftoning
a. Dithering Matrix
b. Error Diffusion - FLoyd Steinberg, JJN, Stucki
c. Color Halftoning with Error Diffusion
Q3. Morpholigical Processing
a. Shrinking
b. Thinning
c. Skeletonization
d. Counting game
--------------------------HW3---------------------------
Q1. Texture Analysis and Segmentation
a. Texture Classification
b. Texture Segmentation
c. Further Improvement (Advanced)
Q2. Edge Detection
a. Basic Edge Detector
- Sobel Edge Detector
- Laplacian of Gaussian(LoG) Edge Detector
b. Structured Edge
c. Performance Evaluation
Q3. Salient Point Descriptors and Image Matching
a. Extraction and Description of Salient Points
b. Image Matching
c. Bag of Words