Problem 42616. Detect circles in images

Given an image and a target radius range, specified as [rmin rmax], find circles in the image. Your function should output an m-by-2 array of circle centers (x,y positions in the image) and an m-by-1 vector of radii corresponding to m circles.

Your detector will be judged on its precision and recall. The recall must be 0.75 or higher and the precision must be 0.5 or higher to pass.

For example, if an image has 4 true circles, you can miss at most 1 of the circles and have at most 4 false detections.

Additional notes:

Circles can be brighter or darker than the background.

A detection is considered a match if its position and radius is within 5 pixels of a true circle.

To make things easier, the target number of circles (N) is provided as an input. Pat yourself on the back if you do not need it.