Revision 7a7047a1d26936ce134478e9d314c9aea0bd3b04 (click the page title to view the current version)

Edge Detection

Date 29 September 2021

Briefing Edge Lecture

Reading Ma (2004) Ch 4.4; Tutorials on OpenCV: Canny Edge Detection; Hough Circle Transform

Exercises

Python API

This is based on Ma (2004) Exercise 4.9, which is written for Matlab.

The Canny

  1. Find a test image.
  2. Test the Canny edge detector in OpenCV. See the tutorial for an example. What kind of data does it generate? What do the data look like?
  3. Experiment with different thresholds and different window sizes (apertures). See the docs for overview of the parameters for Canny.

It is not difficult to implement your own Canny edge detector. The exercise would be very similar to the Harris corner detector, and add little new.

Connected Components

The edge detector gives a binary image. How can you find collections of pixels forming edges?

You can either,

  1. implement your own connected components function, using the ideas from the briefing, or
  2. test the ConnectedComponents function in OpenCV.

Visualise the components you find, for instance by using different colours Do they correspond to the objects you see in the image?

Line fitting

  1. Implement a simple line fitter using the ideas from the briefing.
  2. Can you identify straight lines among the components?
  3. Calculate the angle \(\theta\) and the distance \(\rho\) from the origin for each component.

Hough

TODO

Project

  1. Can you use edge detection in your tracker project?
  2. Is it possible to match the edges to the object you want to track?
  3. Can the multiple connected components be used to give an idea about different objects in the scene?

Use the rest of the time to improve the tracker.