Separate a blob into multiple regions

1 回表示 (過去 30 日間)
Hg
Hg 2015 年 8 月 1 日
コメント済み: Hg 2015 年 8 月 1 日
Is it possible to separate a blob into multiple regions and find out the centroid and major axis of each region?

採用された回答

Walter Roberson
Walter Roberson 2015 年 8 月 1 日
Yes, but you have to have a way of determining where the boundary between regions is.
Then you could draw a pair of line segments dividing it up it separate regions and regionprops() the result.
Or you could switch out of logical() class, leave one of the sections as 1's as it is now, fill another of the sections with 2's, and the third with 3's. The result would be a labeled image that regionprops() could handle.
Or you could create three derived images, each masking out the unwanted parts, and call regionprops() on each.
One way that might work (but I haven't experimented with it myself) would be to skeletonize that image and then identify the location of the two turns. If the images are as regular as they look, the centroids will be the half-way points in each line segment, and you could determine the orientations with some minor trig to determine slopes then arctan()
  1 件のコメント
Hg
Hg 2015 年 8 月 1 日
Thanks for the answer. Other than the suggested methods above, I think I can use kmeans() to cluster and separate the region.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by