/Digital-Image-Processing

Coursework for EE-133 Digital Image Processing

Primary LanguageMATLAB

Digital-Image-Processing

This repository contains the code for my digital image processing class, taken Spring '17 taught by Professor Eric Miller.

Originally written in Matlab, I may port it to python later and upload the pdf of the solutions to the problem sets.

Topics covered in:

Problem Set 1

  • Lexicographic ordering
  • Pixel distances (Euclidean, 4 and 8 nearest neighbor methods)
  • Boundary conditions: periodic extending and zero-padding
  • Histogram calculation
  • Histogram equalization - by parts and dynamic
  • Image transformation - rotation, translation, shearing

Problem Set 2

  • Image morphology
    • Erosion
    • Dilation
    • Opening
    • Closing
    • Thinning
    • Finding skeletons
    • Denoising
  • Reconstruction by dilation
  • Finding connected components
  • Closing by reconstruction
  • Reconstruction by erosion
  • 2D convolution

Problem Set 3

  • 2D convolution with zero-padding and periodic boundaries
  • Building a homemade conv2 (the built in matlab function for 2D convolution)
  • Template matching w/convolution
  • Gaussian noise filters

Problem Set 4

  • 2D Fourier transforms
  • Discrete cosine transform - DCT-II and DCT-III
  • Rough approximation of JPEG compression
  • Gradient based filtering
  • Steerable filters