Clear Filters
Clear Filters

How to compute centroidal distances

2 views (last 30 days)
I wanted to compute centroidal distances, by calculating the distance is between the geometric centroid of the segmented object and the brightness centroid of the same.
% Is geometric centroid same as
s = regionprops(BW,'centroid');
what is brightness centroid

Accepted Answer

Matt J
Matt J on 3 Jan 2018
Edited: Matt J on 6 Jan 2018
I assume you mean regionprops(BW, I ,'WeightedCentroid') ? You need an intensity image I, to invoke that option.

More Answers (1)

Image Analyst
Image Analyst on 6 Jan 2018
You can use regionprops() and sqrt(), like this untested code:
props = regionprops(binaryImage, grayImage, 'Centroid', 'WeightedCentroid');
% Extract centroids into x and y from structure.
centroids = [props.Centroid];
xCentroids = centroids(1:2:end);
yCentroids = centroids(2:2:end);
weightedCentroids = [props.WeightedCentroid];
xWeightedCentroids = weightedCentroids(1:2:end);
yWeightedCentroids = weightedCentroids(2:2:end);
% Compute distances between the centroids and the weighted centroids.
distances = sqrt((xCentroids - xWeightedCentroids) .^2 + (yCentroids - yWeightedCentroids) .^ 2);

Community Treasure Hunt

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

Start Hunting!