Hough Transform

From RoboJackets Wiki
Jump to navigation Jump to search


This algorithm is implemented as the LinearHoughTransform2 filter for the ImageFilterDemo program.

A good description is on this page.

Wikipedia also has its own Hough Transform article.

Pros

  • Able to detect dashed lines

Cons

  • Designed for detecting straight lines, making it tricky to use for curved lines - which will probably be common
  • Designed to detect lines as opposed to detecting line segments
  • Computationally expensive (when compared to simple filters)

Input

  • A binary/grayscale image hilighting the line-pixels in the input image

Output

  • A list of the positions/orientations of the lines detected in the input image

Issues with the Current Implementation

  • The current implementation does not work well with input images containing no lines. This, however, is due to the way that Hough output is thresholded - the Hough algorithm itself still works well.

Pictures

Two solid straight lines
LinesOnBlackWithHoughTransform.png
LinesOnBlackWithIdentifiedLines.png


One solid curvy line
CurvyLineAsHoughSpace.png
CurvyLineWithIdentifiedLines.png


Two solid curvy lines
TwoSolidCurvyLinesAsHoughSpace.png
TwoSolidCurvyLinesWithIdentifiedLines.png


Two dashed curvy lines
TwoDashedCurvyLinesAsHoughSpace.png
TwoDashedCurvyLinesWithIdentifiedLines.png


No lines at all! Just some salt noise.
Yikes!
Double yikes! The robot would probably panic upon seeing this. :P