calculating centroids of multiple ROIs at a time

9 vues (au cours des 30 derniers jours)
Sunetra Banerjee
Sunetra Banerjee le 15 Juin 2021
Commenté : Sunetra Banerjee le 16 Juin 2021
Hi,
I have segmented my ROIs, which are circles/ellipses. I need to calculate the centroids of all ROIs at a time and save those values in Excel file for further processing. I am not able to figure out how to do that.
I am attaching my segmented image with multiple ROIs.
Thanks in advance.

Réponse acceptée

DGM
DGM le 15 Juin 2021
Modifié(e) : DGM le 15 Juin 2021
If you have the binarized image, just use regionprops.
inpict = imread('blobs.png'); % standard test image
S = regionprops(inpict,'centroid')
S = 28×1 struct array with fields:
Centroid
vertcat(S.Centroid)
ans = 28×2
7.2857 7.2857 5.0102 130.9389 28.0000 19.5263 48.2878 111.2950 38.0556 44.5556 42.5345 246.2414 51.7201 180.0177 52.6038 31.5094 35.5000 69.5000 36.5000 65.5000
Note that I'm not using your image in this example. I don't want to deal with cropping all the padding off, and the size (and thus the coordinates) are probably altered now anyway. Don't save images by saving the displayed figure. There's rarely a good reason to degrade images by doing that. Just use imwrite().
  5 commentaires
Sunetra Banerjee
Sunetra Banerjee le 16 Juin 2021
Hi,
For my work I need the centroids in ascending order of Y axis. If you have any advice, I would really appreciate it.
Thanks
Sunetra Banerjee
Sunetra Banerjee le 16 Juin 2021
Thanks a lot. I am able to sort it as i need. I followed this link: https://www.mathworks.com/matlabcentral/answers/342893-how-regionprops-orders-the-regions

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by