/Image-Processing-Labs

Small separated projects to apply the image proccessing concepts on real world cases

Primary LanguageJupyter Notebook

Image-Processing-Labs

Small separated projects to apply the image proccessing concepts on real world cases

“Sidenote.” For Convenience, only a sample of the output images is shown. However, all images can be found in the output folder of each lab.

Table of Contents

  • Reading an image and then plot it.
  • Indexing Numpy matrices.
  • HSV colormap.
  • Gray Scale
  • Understand Noise in Images
  • Reading and Dispalying an Image
  • Converting an Image to Gray Scale
  • Indexing an image matrix to get specific portions of it
  • Display Hue, Saturation, and Value Channels and commenting on results
  • Show Histograms for Different Images
  • Add S&P Noise to Images

Histogram:

Noise:

HSV:

  • Learn the concept of Convolution in the space domain.
  • Learn the concept of Inverse Fourier Transform.
  • Learn the concept of Multiplication in frequency domain.
  • Get The Inverse Fourier Transform of Images
  • A Function that calculates the Fourier Transform of an image, applies Multiplication in Frequency domain, then converts it back to Spatial Domain
  • A Function that performs Convolution in Spatial Domain

Fourier Transform:

Convolution Filters:

  • Understand how Averaging Filters are used for Noise Reduction.
  • Implement Median Filter
  • Use Both Gaussian and Median Filters for Noise Reduction and compare the results.

Median Filter:

Gaussian Filter:

  • Know the effect of Negative transformation.
  • Know the effect of contrast enhancement.
  • Know the effect of gamma correction.
  • Understand and implement Histogram Equalization.
  • Apply Negative transformation to an image.
  • Apply Gamma Correction to an image.
  • Implement a function to perform Contrast Enhancement.
  • Implement a function to perform Histogram Equalization.
  • Remove a Blue Hue from an Image

Blue Hue Removal:

Histogram Equalization:

  • Apply and notice the differences between edge detection techniques
  • Understand the effect of different parameters used in edge detection techniques.
  • Learn and implement “Sobel operator “and “LoG” edge detection techniques.
  • Apply 4 different Edge Detection Techniques: Sobel, Prewitt, Roberts, and Canny and comment on results.
  • Implement Sobel edge detector.
  • Implement LoG edge detector.

Built-in Filters:

Implemented Sobel:

Implemented LoG:

  • Understand Morphological Operations' effect on images
  • Write Two Functions Implementing Erosion and Dilation.
  • Use Implemented and Built-in functions to extract a Credit Card Number
  • Apply Thinning and Skeletonization to an image and comment on results.

Erosion and Dilation:

Credit Card Number Extraction:

Thinning and Skeletonizaton:

  • Learn how to deal with pixel level values with minimum usage of already-implemented functions.
  • Learn simple thresholding techniques.
  • Use the dominating color channel of the background to get the foreground only
  • Get the all pixels that have RGB values close to a required color and replace their RGB values with a target color (Grass Detection).

Background Removal:

Grass Detection by Thresholding:

  • Learn adaptive thresholding technique.
  • Implement Adaptive Thresholding Technique.
  • Comapre Local and Global Adaptive Thresholding (Implemented Version)

Local Thresholding is done by applying thresholding on each qaurter of the image.

Global Thresholding:

Local and Global Thresholding:

  • Understand Texture Analysis.
  • Get the texture values (contrast, homogeneity) of 6 different patches
  • Classify patches into 3 types (cotton, jeans, background) based on their texture values
  • Apply this classifier to normal image via dividing it into small patches

Patches Texture:

Classification:


Walid Hesham


Mahmoud Abdlhamid


Mohamed Walid