centroid of an image
285 views (last 30 days)
Show older comments
Nagarajan sivathanu
on 14 Feb 2012
Commented: Dipti S
on 1 Mar 2019
I want to find the centroid of an image.How to proceed?
1 Comment
Dipti S
on 1 Mar 2019
Something like
stats1=regionprops(BW,'MajorAxisLength','MinorAxisLength','Centroid','Orientation','Area','EquivDiameter')
centers = stats1.Centroid;
Accepted Answer
Chandra Kurniawan
on 14 Feb 2012
Hi,
did you mean 'find centroid of objects in an image'??
use regionprops with property : centroid
Eg : stat = regionprops(Ilabel,'centroid');
I = imread('coins.png');
Ibw = im2bw(I);
Ibw = imfill(Ibw,'holes');
Ilabel = bwlabel(Ibw);
stat = regionprops(Ilabel,'centroid');
imshow(I); hold on;
for x = 1: numel(stat)
plot(stat(x).Centroid(1),stat(x).Centroid(2),'ro');
end

1 Comment
J Shaw
on 20 Feb 2018
Hi,
If I use this code, I get a centroid array that has 255 elements. What is the meaning for each element? Thanks!
More Answers (1)
Sean Lawson
on 14 Feb 2012
Broad question, if the image is your input, simply find the center of the image. But I assume you are asking a more complicated question: like find the centroid of a specific object in an image? if so, need to segment the object out of the image, then find the center point.
4 Comments
Biswas Lohani V K
on 25 Jan 2016
HEllo everyone, What is the syntax for this bb = stats(object).BoundingBox; bc = stats(object).Centroid;
could you please define how this code works
Thank you
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!