擅长:python、mysql、java
<p><code>skimage.graph</code>有一个专门针对图像的Dijkstra实现,它只需几行代码就可以解决您的问题:</p>
<pre><code>import numpy as np
import skimage.graph
T,F = True,False
array = np.asarray(
[[T, F, F, T],
[T, T, F, T],
[F, T, T, F],
[T, T, T, T]])
costs = np.where(array, 1, 1000)
path, cost = skimage.graph.route_through_array(
costs, start=(0,0), end=(3,3), fully_connected=True)
</code></pre>
<p>在这个例子中,<code>path</code>将等于[(0,0),(1,1),(2,2),(3,3)],这确实是最短的路径。在</p>