灰度图像中2点之间的强度加权最小路径

eud*_*xos 4 python numpy scipy scikit-image ndimage

我想确定图像中两个特定点之间的最小路径,即通过像素强度(灰度)加权的相邻像素之间的距离之和的路径将被最小化.例如,此图显示输入图像

原始图像

这是红色的(手绘)最小路径,从UL到LR角(黑色边界用作零重量填充):

示例最小路径

我发现matlab只具有graydist功能; 在ndimage/scikit-image /中有类似的东西吗?我找到了scipy.ndimage.morphology.distance_transform_edt,但我不确定是否以及如何将其用于此目的.如果算法仅返回非唯一最小值中的一个,则可以.

我对实现提示不感兴趣,它在算法上是一个相当简单的任务(至少是使用动态编程的简单实现),我正在寻找(组合)已经编码的例程来实现这一点.

Ste*_*alt 5

这种类型的动态编程在scikit-image中可用,route_through_array并且shortest_path:http://scikit-image.org/docs/dev/api/skimage.graph.html