Alternative to using bwmorph(I,'branchpoints') to find skeleton intersections
4 views (last 30 days)
Show older comments
I am working on trying to identify fiber intersections using the fiber network's skeleton. I am trying to improve the accuracy of the calculation of the intersections. For most of the image the branchpoints method is efficient, however some portions read two branchpoints where it is really one fiber intersection. For example:
The two magenta pixels correspond to calculated intersections using branchpoints (gives 2 intersections), however ideally that would be recorded as a single branch point in the location between the two pixels.
I have considered doing a dilation of the branchpoints and then finding the centroids to eliminate branchpoints that are close together, but was wondering if there is a better method?
0 Comments
Answers (2)
Image Analyst
on 6 Jun 2012
You could just use find() to find locations of the branchpoints, then calculate distances between all of them. If you find a pair that is closer together than you want, you can pick the one you want and erase the one you don't want.
Chaofeng Wang
on 5 Jul 2012
Yes, Image Analyst's proposal is proper. The two spurious branch points are always 2 pixel away, and you could do a post-processing by replacing the two spurious ones with the pixel just between them. In order to do separation, you can just simply delete all these three points.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!