Hough Circles

Authors: Hemerson Pistori (pistori at ec.ucdb.br)
and Eduardo Rocha Costa (eduardo.rocha at poli.usp.br)
History: 2002/07/29: First version
2006/01/18: Can find circles with arbitrary radius
2008/10/30: Macro compatible
2009/05/04: Works with rectangular selections, thanks to David Webster
Source: Hough_Circles.java
Installation: Download Hough_Circles.class to the plugins folder and restart ImageJ.
Description: This plugin applies the Hough Transform for Circles to an 8-Bit image, shows the resulting Hough Space in a new window and marks the centers of the found circles.

The Algorithm performs better if preceeded by Equalization + 8-Bit + Edge Detection + Threshold.

The Hough Transform implementation is based on an applet by Mark A. Schulze (http://www.markschulze.net)


The original RGB image.


Image after conversion to 8-bits, smooth, find-edges, binary/threshold, and invert.


The hough space. Lighter regions represents most probable places for finding centers of circles of predefined radius. The "number of circles", X, entered by the user, will be used to choose the X most lightest points in the hough space. The user can also enter a threshold for the histogram of the Hough Space, instead of the number of circles.

[circles marked]

Image with the center of the two iris marked. Notice that, in this example, we are looking for a predefined number of circles (2) with predefined radius (11). (The algorithm tolerate a small error in the radius).

|Plugins | Home |