School’s out! So why am I writing about the Hough transform again? Well, in my previous post, I just kind of took the Hough transform of a few gifs and didn’t really think twice about it. Now that my paper is written, I can actually *explain* just what’s going on.

The standard Hough transform finds lines within an image. It does this by taking a binary edge image (more on this in a future post), and transforming the points into “Hough-space”. Each point of the edge image is turned into a sinusoid in Hough-space. Points that tend to form a line will create a “knot” in Hough-space, while points that don’t line up have no such knot.

The two figures above (from Wikipedia) depict how a point in real-space (that is, a point within the image) is transformed into a sinusoid in Hough-space. Multiple co-linear points will create a knot in Hough-space seen in the second figure.

The brightness of a pixel in Hough-space denotes the relative “strength” of a knot. Thus, in the YouTube video above, one can see the bright point migrate from the right to the left as the bar spins in the GIF.

So how would you use the Hough transform? Well, one can use the Standard Hough Transform (which finds lines) and then a threshold on Hough-space to determine whether or not a line exists. The Hough transform itself has been generalized to find other shapes like circles or ellipses. There’s even a version where you can create your own shape that you would like to find. This generality is why the Hough transform is used quite often in computer vision (as I’m told).