The Hough Transform is a method for detecting curves by exploiting the duality between points on a curve and parameters of that curve. The initial work showed how to detect both analytic curves [Duda and Hart, 1972; Hough, 1962] and non-analytic curves [Merlin and Farber, 1975], but these methods were restricted to binary edge images. This work was generalized to the detection of some analytic curves in grey level images, specifically lines [O'Gorman and Clowes, 1973] and circles [Kimme et al., 1975] and parabolas [Wechsler and Sklansky, 1975]. The line detection case is the most well known and has been ingeniously exploited in several applications [Dudani and Lik, 1977; Fenema and Thompson, 1978; Kender, 1979].
We show how the boundaries of an arbitrary non-analytic shape can be used to construct a mapping between image space and Hough Transform space. Such a mapping can be exploited to detect instances of that particular shape in an image. Furthermore, variations in the shape such as rotations, scale changes or figure-ground reversals, correspond to straightforward transformations of this mapping. However, the most remarkable property is that such mappings can be composed to build mappings for complex shapes from the mappings of simpler, component shapes. This makes the generalized Hough a kind of universal transform which can be used to find arbitrarily complex shapes.