Hough Line Detection
To better understand the process of the Hough Line Detector I wrote a short demonstration applet. The user can load a demo image or draw something on the canvas.
For comparisson the Y(x) = k*x + d (blue) and the d(Θ) = x*cos(Θ) + y*sin(Θ) (red) space are drawn.
It can be shown that the form d(Θ) = x*cos(Θ) + y*sin(Θ) is able to represent also vertical lines.
In the blue space there is only one line/ one bright spot visible. In the red space all four dominate edges are mapped accordingly.
To find the dominating edges the accumulator picture has to be searched for the brightest spots. This values can be used to describe a line in the original space.
The Hough Transformation can be used to find any kind of parameterizable shapes. The simples form is a line, with only two parameters k and d. It is also possible to detect circles. In this case the parameter space is three dimensional (x,y and radius) and therefore more computational expensive.
More detailed information about the Hough Transformation:
Hough Transformation Wikipedia
How the Hough Transform was invented