centroid of convex hull

14 views (last 30 days)
Noe alvarado
Noe alvarado on 23 Jan 2013
hi, i want to find de centroid of convex hull, how i can do it in matlab? I formed the convex hull with n-dimensional points. To find the convex hull i use convhull and convhulln thanks for your help

Accepted Answer

Image Analyst
Image Analyst on 23 Jan 2013
You need to get a binary image first. If you just have x,y coordinates, like you used convhull, then you need to call poly2mask(). If you have an image of non-convex objects, then you need to call bwconvhull() and it will give you an image of all objects' convex hulls. Then simply call regionprops asking for the centroid.
measurements = regionprops(binaryImage, 'Centroid');
It's a structure array. Each element of measurements is a structure with fields that represent the measurements you asked it to make, like Centroid, area, whatever.
  13 Comments
Matt J
Matt J on 31 Jan 2013
Edited: Matt J on 31 Jan 2013
I would give it the benefit of the doubt, but since you brought it up, vert2con and con2vert are not without their bugs. Unfortunately, he no longer actively monitors feedback and hasn't replied to my bug reports, so I've had to make a number of my own fixes to them as the basis for my versions
Noe alvarado
Noe alvarado on 1 Feb 2013
thanks for your help, i'm going to try your ideas.

Sign in to comment.

More Answers (0)

Categories

Find more on Bounding Regions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!