I want to find the centroid of an image.How to proceed?

1 Comment

Dipti S
Dipti S on 1 Mar 2019
Something like
stats1=regionprops(BW,'MajorAxisLength','MinorAxisLength','Centroid','Orientation','Area','EquivDiameter')
centers = stats1.Centroid;

Sign in to comment.

 Accepted Answer

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
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!

Sign in to comment.

More Answers (1)

Sean Lawson
Sean Lawson on 14 Feb 2012

0 votes

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

I want to find the centroid of a face but the face is not in the center of the image... How to find the centroid. Can you please give an answer
Image Analyst
Image Analyst on 25 Sep 2013
Edited: Image Analyst on 25 Sep 2013
Start your own new discussion. And be sure to attach your image.
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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!