The Hough Transform, originally described in a patent by Paul Hough, is a point-to-curve transformation, that has many applications in pattern recognition.

It can detect the presence of a parametrically representable group of point in a bitmap image, such as a straight line or a circle, through a mapping to a parameter space. This is regarded as an n-dimensional matrix of accumulator (where n = number of parameters of the shape of interest). Each significant point from the original set casts a vote in one or more slots in the accumulator matrix. Thus, looking for a pattern of interest in the original space corresponds to searching for peak values in the n-dimensional space.

Example: a line can be parameterized by two parameters (slope and intercept, e.g.). Construct a parameter space array votes[slope][intercept] initialised to 0. Then, for every (x,y) point in the image that could be on a line (e.g. output of an edge detector) add 1 to every (slope,intercept) combination that this point could lie on.