Design Assignment
Develop the pseudo codes and C/C++-codes for the Canny Edge Detector. The following should
be observed.
1. The program should be able to handle various user-specified standard deviations and
automatically compute and utilize the appropriate mask size.
2. Edge strength may be estimated using the combination of derivatives in orthogonal
directions. Edge orientations may be approximated to have only 4 discrete directions.
3. Edges should be thinned across the edge contour using non-maximum suppression.
Additional (possibly deserving a grade of B+ to A):
1. Develop the LoG 2nd derivative edge detector with an appropriate Gaussian smoothing.
Compare and comment on the results obtained between the gradient magnitude (1st
derivative) and LoG (2nd derivative) edge detectors.
On Your Own (possibly deserving a grade of A to A+):
1. Develop the program to perform sub-pixel accuracy of the edge centre using the quadratic
approximation model.
Notes on the Images:
(DO NOT USE A TEXT EDITOR (NOTEPAD OR WORD EDITOR) TO VIEW THE DATA OF THE
IMAGES. THE IMAGES ARE STORED AS BINARY DATA WHILE THE TEXT EDITOR ASSUMES THE
DATA IS ASCII.)
Format of image (in binary):
X X X X X X X X ...
| | | |
| | | start of intensity data for image
| | unsigned char (1 byte) stating the no. of bits representing each pixel (ie 8 bits)
| no. of columns (2 bytes, unsigned)
no. of rows (2 bytes, unsigned)
The resolutions for the images are as follows:
Cana: 512 X 479
Fruit: 487 X 414
Img 335: 500 X 335
Lamp: 256 X 256
Leaf: 190 X 243
If you want to view the images, use Photoshop to load each image.
Specify the width, height, 8 bits (not 16 bits) and 5 bytes of header.
The image should be displayed.