Machine Vision - Practical 2

Last Updated : Thu 26/11/98 at 12:05pm

Important! This is the very latest version of this information page, and it includes information on image capture and preparation according to the most recent changes in the plans. If there is a conflict between the contents of this page and any other information source, please consider this page to be the most valid, until further notice.

Introduction

First of all, click here to see the definition of requirements for this practical. I need to remind you that this page is maintained by Professor Bernard Buxton and Professor Jan-Peter Muller, and is subject to amendments and modifications beyond my control.

Also, I will try to be available to answering questions most of the times beyond the scheduled practicals. Just e-mail me at: i.douros@cs.ucl.ac.uk

Now, some important admin information:

The deadline for this practical is Wednesday, 9/12/98. You should submit your reports to Professor Muller's office by 18:00 on that day. Please note that after that date Professor J.P. Muller will be away from the country, therefore an extension beyond that date cannot be given.

As from the 25th of November 1998 the practical is considered to be set. I suggest that you use your time wisely and take a look in the literarure recommended to you. Make sure you are familiar with the theory of the Canny Edge Detector, the Sobel mask functions and the Sonka multispectral edge detector before you start implementing these things. In addition, I will also provide you with some paper that should help you implement the Canny detector.

Image preparation

This section is to replace the instructions already provided to you about colour image conversion (which, if you want, you can access by clicking here.) These instructions require the use of HIPS library. To avoid using the HIPS library (which, as you already know, does not work anymore), follow these instructions instead.

Using the supplied implementation of the Canny Edge Detector

For assessing the quality of your results, an implementation of the Canny Edge Detector has been kindly supplied by Gideon Amos. To use it, you must first load the appropriate binary by typing the following at the IDL prompt:

IDL > restore, filename='~gideamos/pub/canny.dat'

Then, you can detect the edges of image by typing:

IDL > result = canny(image, gmask, lhthr, uhthr)
IDL > tvscl, result, /order

Where:

In order to gain a better understanding of the Canny detector internals, it is advisable that you experiment with the values of these parameters and notice the differences in the final result.

Hints on the Canny Detector internals

To get started with the Canny implementation, you must keep in mind that the algorithm has three discrete stages. To avoid confusion, I suggest that you deal with them one at a time.

Note: I had promised to bring over a paper for you that contains the description of these steps. It appears that I don't have it anymore, so it might take another day to dig it out. Meanwhile, you can check out the information provided here.

So, the stages are:

Smoothing and differentiation

Non-maximal suppresion

Hysteresis thresholding

You should now have a fairly clear starting point in order to get on with this practical. Do not forget, that you can contact me at any time if you need help.

Good luck!

Yannis