For a binay image, how to plot a circle by using the centroid of the white pixel region for any given radius.

3 views (last 30 days)
segmentedod 1(29).jpg

Accepted Answer

Vinai Datta Thatiparthi
Vinai Datta Thatiparthi on 16 Jul 2019
Hi!
It appears to me that you want to calculate the centroid of the white spot in your image, and using this centroid value as the center, plot a circle of any radius.
The first part of the question, i.e. finding the centroid of the circle can be evaluate as follows –
im = imread('figure.jpeg'); % Your figure
imBin = imbinarize(im);
imBin = imfill(imBin, 'holes');
BW = regionprops(logical(imBin), 'centroid');
imshow(imBin);
hold on;
plot(BW.Centroid(1),BW.Centroid(2),'bx')
The value of the centroid of this image is stored in the variable ‘BW’.
The output is -
Case ID 03693723.jpeg
(I snipped this output to enhance readability)
Coming to the second part of your question, please refer to this link here to get the relevant steps to plotting a circle with a given center and radius.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!