I know that for the Hough Transform to work on an image, it needs to be a binary image. To convert from a grayscale image, an edge detection algorithm should be employed. I notice that people always use Canny edge detection instead of others (e.g., Sobel). Why is that?
2 Answers
Canny Edge Detection is considered to be a better (In False Alarm sense) edge detection than those you mentioned.
This is, mainly, due to 2 steps:
- Non Maximum Suppression - Edges candidates which are not dominant in their neighborhood aren't considered to be edges.
- Hysteresis Process - While moving along the candidates, given a candidate which is in the neighborhood of an edge the threshold is lower.
Those 2 steps reduce the number of "False" edges and hence create a better starting point for farther process like Hough Transformation.
Your statement that the Hough transform (HT) needs to be applied on a binary image is not true. The original HT indeed was formulated that way, though in the meanwhile different authors extended the HT in numerous ways -- for example, to consider the gray scale values of each image pixel. As a consequence, the step of edge detection can be omitted.
Citations concerning grey scale values taken from Extraction of Spatial Ultrasonic Wave Packet Features by Exploiting a Modified Hough Transform:
[23] F. O’Gorman and M. B. Clowes, “Finding picture edges through collinearity of feature points,” IEEE Trans. Comput., vol. 25, no. 4, pp. 449–456, Apr. 1976.
[24] J. Skingley and A. J. Rye, “The Hough transform applied to SAR images for thin line detection,” Pattern Recognit. Lett., vol. 6, no. 1, pp. 61–67, 1987.
[25] C. Trayner, N. J. Bailey, and B. R. Haynes, “Time-gradient Hough transforms–constraining object identification by speed of motion,” Real-Time Imag., vol. 6, no. 2, pp. 143–153, 2000.
-
1$\begingroup$ Agreed, after posting this question, I have also read that the HT does not require a binary input image. Thanks! $\endgroup$– AshivDCommented Jul 29, 2014 at 13:29