Improving circle detection with imfindcircle

12 views (last 30 days)
Hello all, I am trying to improve best-fit circle detection using the function "imfindcircle". Currently a sensitivity of 0.98 searching within a range of [50 175] yield the following:
[centers, radii] = imfindcircles(im{k+1},[50 175],'ObjectPolarity','bright','Sensitivity',0.98)
(This is only a line of the code that is part of a larger loop that performs imfindcircles for multiple images)
I have tried a variety of sensitivities and ranges as well as preprocessing the image by converting it to edges:
imtemp = imread(strcat(X,side,'-',num2str(i1),'.png')); %read
im2{i1+1} = imtemp{i1+1}(:,:,2);
im{i1+1} = edge(im2{i1+1},'canny'); %convert to edges only
However the fits do not seem to improve beyond the original result. What are the best image preprocessing steps to improve detection of the circle?
Thank you!

Answers (1)

Ramnarayan Krishnamurthy
Ramnarayan Krishnamurthy on 3 Oct 2017

Community Treasure Hunt

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

Start Hunting!