MATLAB Answers

centroid of an image

389 views (last 30 days)
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

Chandra Kurniawan
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
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
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
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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!