Radius and coordinates of the center for a big circle in a bidimensional image
Show older comments
I have a bidimensional (N x N) matrix of pixels like the one shown in the attached figure. Black areas contain zero values, while other areas contain random non-zero values. How could I determine the radius (in pixels) and coordinates of the center for the big circle? Consider that its center doesn't correspond to the center of the matrix, like in the figure.

Accepted Answer
More Answers (1)
Anand
on 11 Feb 2016
Here's some code that should help:
% Read the image
I = imread('http://www.mathworks.com/matlabcentral/answers/uploaded_files/45140/figformatlab.png');
% Find circles in the image
radiusRange = [20 30]; % You need an approximate range of what you expect the radius to be.
[centers,radii] = imfindcircles(I, radiusRange, 'ObjectPolarity', 'dark','Sensitivity',.9);
% Display found circles
imshow(I)
viscircles(centers,radii);
The variables centers and radii hold what you are looking for.
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!