MATLAB Answers

0

centroid of an image

Asked by Nagarajan sivathanu on 14 Feb 2012
Latest activity Commented on by 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;

Sign in to comment.

2 Answers

Answer by Chandra Kurniawan on 14 Feb 2012
 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
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.


Answer by 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

Show 1 older comment
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.