A fast randomized circle detection algorithm
In this paper, we present a fast randomized circle detection algorithm applied to determine the centers and radii of circular components. Firstly, the gradient of each pixel in the image is computed using Gaussian template. Then, the edge map of the image, obtained by applying canny edge detector, is tackled to acquire the curves consisting of 8-adjacency connected edge points. Subsequently, for the detection of the center, N edge points for each curve are picked up, and the point, passed through by the most gradient lines of the edge points, corresponds to a center. The radius can be received by computing the distance between the center and the corresponding edge points. The algorithm performs much better in terms of efficiency compared to randomized circle detection algorithm (RCD), in which a mass of accumulations are done by random sampling. Synthetic images and natural images are used to test the capability of the proposed algorithm. The experimental results indicate that the presented algorithm consumes less computing resources, has excellent performance for detection of single circle, multiple circles, concentric circles, partial circles and overlapped circles, and also has good accuracy despite the presence of different noises and interference.