Faculty
EC3040 Digital Image Processing
  1.  Course outline
  2. Lectures
  3. Resources
  4. Assignments
    1. Read image in .pgm/.ppm format. 
    2. Compute histrogram of a given image. Perform histogram equalization/specfication - see lecture notes for detailed assignment description.
    3. Write program to calculate the median(Generalised to nd the inverse of any CDF value) from the Histogram of an image. Perform histogram standardization.
    4. Spatial filtering - use of low and high pass gaussian filter. Unsharp masking. You may start using OpenCV read, write and display image functions. (Or you may choose to slack and continue with the old). Warning - using specific OpenCV functions relating to these objective, will result in "0" marks for the assignment.
      1. Spatial gaussian filtering
        (a) Low pass 3x3 mask. σ 2 = 1, 2, 3, .....10.
        (b) Low pass 5x5, 7x7, ... mask.
        (c) High pass filter 3x3 mask.
        (d) Vary window size of high pass filter.
        (e) Unsharp mask in a single step.
        To create the input, add noise to the image.
        (a) Can use MATLAB functions for noise image generation.
        (b) Gaussian noise, vary the percentage of noise.
        (c) Insert salt and pepper noise. You can chose some random percentage.
    5. Obtain FFT of an image.
    6. Frequency Domain Filtering
      (a) Pass the image through ideal low pass filter. Study its effect and ringing.
      (b) Use a Butterworth filter, vary its order and study the effect of ringing.
      (c) Obtain spacial representation of filter and study lobe effect.
    7. (a) Homomorphic filtering.
      (b) Perform image smoothing using an averaging 5x5 window. You will perform spatial averaging in two ways on a color image :
      a. Apply filter on the three separate channels, then display the resulting image.
      b. Apply filter on the intensity channel (third one) of the HSV model. Display the image.Now compute the difference between the two images and display the difference image. Perform image sharpening with a 3x3 Laplacian filter.
      a. Apply filter on the three separate channels, then display the resulting image.
      b. Apply filter on the intensity channel (third one) of the HSV model. Display the image.
      c. Now compute the difference between the two images and display the difference image.
    8. Image enhancement using Retinex: You are to implement a
      1. single scale retinex algorithm. Vary the value of the center surround constant 'c' and observe the effect on the image.
      2. multi-scale retinex algorithm to enhance an image shadowed non-uniformly. You may try out a couple of images and choose one which you feel best illustrates the purpose. Compare your output with varying outputs from Retinex function given in GIMP. Choose C=15, 80 and 150. 
      3. multi-scale retinex algorithm on luma channel and compare with your previous outputs.
    9. Adaptive median filtering: Create salt&pepper noise image - vary the amount of noise present in the image. You are then to build an executable that would do adaptive median filtering on the created images. Observe the effect of varying noise amount on the output image. 

 

 
 
 
 
:
:
: