Assignment 1
Topic: Image Enhancement, and Edge, Corner and Line
Detection
Due on or before:
September 03 (Sunday)
Maximum Marks: 14
This assignment involves implementation of the following operations::
Part A: Image Enhancement: Spatial Domain Methods
1. Contrast Stretching: use of a linear transformation function where the
intermediate values
(r1, s1) and (r2, s2) be interactively specified.
2. Histogram Equalization for global and enhancement. A plot of the
histogram before and after
the equalization should also be shown. You may either
print out the histogram on the screen, or plot it in some software,
say MATLAB, or gnuplot.
3. Smoothing Filters : using uniform neighbourhood averaging, Gaussian
and median filters.
Implement using a general convolution routine for
an nxn mask
4. Sharpening Filters: High pass and High boost filter with A as a
parameter defined by the user.
Part B: Image Enhancement: Frequency Domain Methods
Ideal low/high pass filter and Butterworth low/high pass filter. The success
of these implementations will crucially depend on a good implementation
of a 2-D FFT routine (which in turn, requires a 1-D FFT routine).
Some Images for the Image Enhancement part:
Damn these autofocus cameras ... they often focus on things one doesn't
want to focus on!
This is an image of a Thai Boeing 777 aircraft which has just landed
at the Bangkok airport,
clicked from inside an aircraft (the camera has focussed on the aircraft
window glass, instead) How best can this image be sharpened ?
Image Enhancement is subjective ... and highly application-specific!
Here's an image on which Histogram Equalization does a lousy job:
Identification Parade: Who's this stealthily sneaking into the SPANN lab
at night, harbouring
the darkest of thoughts ? Use Histogram Equalization to find out!
Part C: Edge, Corner and Line Detection
This assignment entails efficiently programming the following:
Edge Detectors
1. Gradient
2. Roberts
3. Prewitt
4. Sobel
5. Nevatia-Babu (masks reproduced below)
6. Compass
7. Laplacian
8. Marr-Hildreth
9. Canny (Only the operator, plus non-maximal suppression.
You need not implement the Hysteresis part)
Corner Detector
The Harris Corner Detector: Consider the following matrix M corresponding
to an image f.
det M denotes the determinant of the matrix M,
and Trace M, its trace (the sum of elements along the principal
diagonal). k is a constant that is usually taken to be 0.04. R
is the corner strength function at a point: we declare a point a corner
if the corner strength is above a particular threshold. A common recommendation
is to apply the operations not on the original image f, but to Gaussian-smoothed
versions of the images of the requisite powers of the partial derivatives
in matrix M. Feel free to try it either way!
Hough Transform-based Line Detection
(This is no longer part of the assignment - in case you have already done
it, please show it to the TAs.)
Desirable: lots of experimentation. Moral of the
story (assignment):
One can have an
edge
over others if one does not cut any corners.
But one should know where
to draw a line...
The Nevatia-Babu Masks:

Venues and Group Assignments to TAs:
Venue: PC Lab, 1st Floor, EE Department (Ph. 5756)
Avdhoot A. Bane:
bane@ee.iitb.ac.in
09:00 - 09:20 -> group 02
09:20 - 09:40 -> group 03
09:40 - 10:00 -> group 05
10:00 - 10:20 -> group 07
10:20 - 10:40 -> group 08
10:40 - 11:00 -> group 10
11:00 - 11:20 -> group 12
11:20 - 11:40 -> group 16
11:40 - 12:00 -> group 17
D. Soumya:
soumya@ee.iitb.ac.in
09:00 - 09:20 -> group 01
09:20 - 09:40 -> group 04
09:40 - 10:00 -> group 06
10:00 - 10:20 -> group 09
10:20 - 10:40 -> group 11
10:40 - 11:00 -> group 13
11:00 - 11:20 -> group 14
11:20 - 11:40 -> group 15
11:40 - 12:00 -> group 18
Sumantra Dutta Roy
Department of Electrical Engineering, IIT Bombay, Powai,
Mumbai - 400 076, INDIA. sumantra@ee.iitb.ac.in