How do I combine regions of regionprops

4 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2016-11-28
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 个评论
Andreas
Andreas 2016-12-6
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 2016-12-7
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by