Seeking explanation for why imfindcircles() misses circles within tight radius constraint

2 views (last 30 days)
Background:
I am working through a digital imaging processing tutorial. I have been using
imfindcircles() on the built-in demo image 'coins.png'
When I run
[centers,radii] = imfindcircles(F,[15 30]) %find circles with radius: 15px<radius<30px
imfindcircles() outputs:
radii =
24.6209
24.3789
24.2560
28.1686
28.6433
24.4247
29.4611
28.8647
29.0494
29.0979
So, apparently, all the circles in this image have radii: 24<radius<30 However, when I run imfindcircles() constrained to that range
[centers,radii] = imfindcircles(F,[24 30]) %find circles with radius: 24px<radius<30px
imfindcircles() find only a single circle:
radii =
29.2412
Question: What is it about the way the function imfindcircles() works that makes it miss some circles within the radius constraint when that constraint is tighter?

Answers (1)

Jayanti
Jayanti on 12 May 2025
Edited: Jayanti on 12 May 2025
Hi Hayden,
I found a similar Matlab answer related to your query. Please refer to the below MATLAB Answer thread which addresses this behavior:

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!