Alternative to using bwmorph(I,'branchpoints') to find skeleton intersections
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Image Analyst
2012-6-6
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
2012-7-5
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!