Find a path between two points
1 次查看(过去 30 天)
显示 更早的评论
I'm doing some image processing for biology research. I'm looking at images of a larva that bends into different shapes as it moves around. I'm able to binarize the images and automatically locate the head and tail. However, I need a way to draw a line between the head and the tail that follows the body of the larva, so I can calculate its curvature.
So the data is a 640 x 480 matrix of zeros, with an elongated and curved field of ones somewhere in the middle that represents the larva. In addition there are two points [A, B] located at either end of the field of ones, which correspond to head and the tail. How can I get Matlab find for example the shortest distance along the ones between A and B? (It doesn't have to be the shortest distance, it's just one way of constraining the question.) A polynomial or spline won't do because the larva often bends 360 degrees or more.
Thanks!! Chris
1 个评论
Doug Hull
2013-11-6
have you skeletonized the larva (even if invertebrate!) The bwmorph command might be what you are looking for, use 'skel' option.
采纳的回答
Alex Taylor
2013-11-6
编辑:Alex Taylor
2013-11-6
Check out bwdistgeodesic/greythresh, as shown in Steve's post:
Both of these functions require the Image Processing Toolbox. bwdistgeodesic is intended exactly for this type of binary constrained shortest path problem.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!