DUTh Circle Detection

made by Victor Epitropou 2005-2006 (c) for a DUTh project by Professor  Nikos Papamarkos.

SOFTWARE DOWNLOAD

DUTh Circle Detection is a circle-detection program using Generalized Hough Transform,Circular Hough Transform and Enhanced Hough Transform as well as including a number of simple filtering options and run-time optimizations to potentially enhance detection.

If you want to learn how to quickly use the program, follow this Quick Tutorial here, or else explore the features as they are described below.

Also, your questions might be already answered in this FAQ.

Beware that this is a scientific program, and although quite an effort has been put into making it user friendly, it is not a "magical wand" that will simply and automatically detect ALL circles on ANY image under ANY circumstances, without some tweaking. As such, it has been equipped with a basic set of image processing tools and is quite configurable, but using it effectively requires some theoretic knowledge and reading the full documentation.


Features:

  • Three circle detection methods:

    1. Generalized Hough Transform (GHT) using circles drawn into an R-Table. Reliable, but slow.
    2. Circular Hough Transform (CHT) , a variation of the Generalized Hough Transform optimized for circles (thus making in, actually, "not generalized").
    3. "Enhanced" Hough Transform (EHT), a specially optimized variation of the CHT, used to minimize false detections , reduce memory consumption and computational time. Due to implementation limitations, the latter two goals are not achieved, and it required some tweaking in order to function properly. If properly configured, it can yield superior results compared to the other two methods. Note: This method is based on Shih-Hsuan Chiu and Jiun-Jian Liaw 's m"effective" voting method for circle detection, described in their paper "An effective voting method for circle detection" but it's not a complete implementation due to time and implementation constraints during this project, and also because the original paper describing the technique left certain parts of the implementation unspecified, leaving the burden to poor old me :-P

  • Three built-in edge detection masks:
    1. Prewitt
    2. Robert
    3. Sobel
  • Built-in Filters (Min, Max, Median) and Binarization options, including Otsu's method and manual thresholding.
  • Loading, Reloading of original picture, saving of any picture.
  • 5-step circle detection (Loading, Edge detection, Binarization, Hough Transform, Final circle detection), with user control over each one.
  • User-defined tolerances during Hough Space construction and circle detection.
  • Copy and Paste function from and to the program (albeit with some limitations).
  • Saving of images (including intermediate calculations image).