Hough transform for circles
The Hough transform may be used to detect circular shapes in images, after binarisation, for example by an edge detector. Often, functions to do this operation require the radius of the circle to be specified.
The function circle_hough allows a range of radii to be specified, so that the radius does not need to be known exactly in advance. It is likely to be faster than calling a standard function repeatedly for different radii.
Multiple circles may be detected by finding peaks in the 3D accumulator array. A function, circle_houghpeaks, is provided for this. A demonstration of the two functions is included as a script, circle_houghdemo.
The zip file includes an efficient and accurate implementation of circle approximation, without gaps, on an integer grid.
Cite As
David Young (2024). Hough transform for circles (https://www.mathworks.com/matlabcentral/fileexchange/26978-hough-transform-for-circles), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Computer Vision Toolbox > Recognition, Object Detection, and Semantic Segmentation > Image Category Classification >
Tags
Acknowledgements
Inspired by: Hough Transform for circle detection
Inspired: Automated Counting of Bacterial Colonies, Wavelet-Based Circular Hough Transform
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
html/
Version | Published | Release Notes | |
---|---|---|---|
1.2.0.0 | Fixed bug in options code in circle_hough. Enhanced circlepoints for more generality when used for graphics.
|
||
1.1.0.0 | Added circle_houghpeaks and circle_houghdemo, minor change to circle_hough to allow radius normalisation to be requested. |
||
1.0.0.0 |