next up previous
Next: Detection of Circles Up: hough Previous: Straight Line Detection

Make Use of $\angle G$

The gradient direction $\angle G$ of an edge pixel can be used to reduce the computation in the parameter space. First recall that the tangent direction or the derivative $dy/dx$ of an implicit function $f(x,y)=0$ can be found as:

\begin{displaymath}\tan\; \phi = \frac{dy}{dx}=-\frac{f'_x(x,y)}{f'_y(x,y)} \end{displaymath}

where $f'_x(x,y)$ and $f'_y(x,y)$ are the partial derivatives of the function $f(x,y)$ with respect to $x$ and $y$, respectively. Also note that at an arbitrary point on the curve specified by the equation $f(x,y)=0$, the gradient direction is always perpendicular to the tangent direction:

\begin{displaymath}\phi = \angle G \pm \frac{\pi}{2} \end{displaymath}

i.e.,

\begin{displaymath}\frac{dy}{dx}=-\frac{f'_x(x,y)}{f'_y(x,y)} = \tan \;\phi
= \tan\;(\angle G \pm \frac{\pi}{2}) = -\cot\; \angle G \end{displaymath}

or

\begin{displaymath}\frac{f'_x(x,y)}{f'_y(x,y)} =\cot\; \angle G \end{displaymath}

as shown in the figure:

hough_3.gif

Now the gradient direction $\angle G$ can be used to establish a second equation, in addition to the original equation describing the shape, and thereby reducing the dimensions of the hyper-surface in the parameter space that needs to be incremented by 1.

\begin{displaymath}\left\{ \begin{array}{l}
f(x,y,\alpha_1,\cdots,\alpha_n)=0 \...
...\alpha_1,\cdots,\alpha_n)
=cot\; \angle G \end{array} \right. \end{displaymath}



Ruye Wang 2009-11-17