How do I combine regions of regionprops

9 views (last 30 days)
Hello, I use regionprops to get different regions within an image.
Obj = regionprops(~bw,{'Area','Extrema','Boundingbox','MajorAxisLength','MinorAxisLength','ConvexHull','Centroid'});
According to some assumptions I would like to recombine some Objs of the struct
For example I would like to combine 2 objects where the y-coordinate of the centroid is quite similar. This means, that the some values, Area, Centroid, Bounding Box have to be recalculated. What would be the correct way to do that?
Thanks

Accepted Answer

Image Analyst
Image Analyst on 28 Nov 2016
I believe you can set the label to be the same. For example, make blob 3 have a label of 2 and then blob 2 will now be the old blob 2 and the old blob 3
labeledImage(labeledImage == 3) = 2; % Merge blob 3 into blob 2.
Now call regionprops
props = regionprops(labeledImage, .........
  2 Comments
Andreas
Andreas on 6 Dec 2016
Thank you for this hint, I did not realize that I can directly use labeledImages for regionprops.
Unfortunately, it seems that I've to use 'FilledImage' for getting the image? Or can I use 'PixelIdxList' to create a 2D-image?
Image Analyst
Image Analyst on 7 Dec 2016
regionprops() preferred way is to use either a connected components object generated from bwconncomp() or a labeled matrix generated from bwlabel.
I don't know what FilledImage is because you have not shown your code, at least not shown it here. You can use PixelIdxList to create a binary image of the blob(s), though there may be better ways.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!