Journal of Functional Programming

Functional Pearls

The Hough transform


a1 Department EEMCS, University of Twente, Enschede, The Netherlands (e-mail:

Suppose you are given a number of points in a plane and want to have those lines that each contain a large number of the given points. The Hough transform is a computerized procedure for that task. It was invented by Paul Hough (1962), originally to find the trajectories of subatomic particles in a bubble chamber, and it has even been patented. Nowadays, adaptations of the Hough transform are used, among others, for identification of transformed instances of a predefined figure, instead of just a line, in a digital picture. There are plenty of explanations on the Internet (use search key “Hough transform” and “generalized Hough transform”), some with nice applets to demonstrate the working (add search key “applet” or “demo”). Recently, Hart (2009) has looked back at the invention. We show how the original procedure could have been derived.

(Online publication February 24 2011)