hough
Hough transform
Description
[ computes the Standard Hough Transform (SHT) of the
                                binary image H,theta,rho]
= hough(BW)BW. The hough
                                function is designed to detect lines.
The function uses the parametric representation of a line:
                                        rho = x*cos(theta) + y*sin(theta). The
                                function returns rho, the distance from the
                                origin to the line along a vector perpendicular to the line, and
                                        theta, the angle in degrees between the
                                        x-axis and this vector. The function also
                                returns the SHT, H, which is a parameter space
                                matrix whose rows and columns correspond to rho
                                and theta values respectively. For more
                                information, see Algorithms.
Examples
Input Arguments
Name-Value Arguments
Output Arguments
Algorithms
The Standard Hough Transform (SHT) uses the parametric representation of a line:
rho = x*cos(theta) + y*sin(theta)
The origin of the coordinate system is assumed to be at the center of the upper-left corner pixel.
The variable rho is the perpendicular distance from the origin to the line.
The variable theta is the angle of the perpendicular projection from the origin to the line, measured in degrees clockwise from the positive x-axis. The range of theta is –90° ≤ θ < 90°. The angle of the line itself is θ + 90°, also measured clockwise with respect to the positive x-axis.

The SHT is a parameter space matrix whose rows and columns correspond to rho and theta values, respectively. The elements in the SHT represent accumulator cells. Initially, the value in each cell is zero. Then, for every non-background point in the image, rho is calculated for every theta. rho is rounded off to the nearest allowed row in SHT. That accumulator cell is incremented. At the end of this procedure, a value of Q in SHT(r,c) means that Q points in the xy-plane lie on the line specified by theta(c) and rho(r). Peak values in the SHT represent potential lines in the input image.
The Hough transform matrix, H, is nrho-by-ntheta where:
nrho = 2*(ceil(D/RhoResolution)) + 1, and 
D = sqrt((numRowsInBW - 1)^2 + (numColsInBW - 1)^2). 
rho values range from -diagonal to diagonal,
where 
diagonal = RhoResolution*ceil(D/RhoResolution). 
ntheta = length(theta)

