https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.ndimage.morphology.distance_transform_edt.htmlscipy distance_transform_edt函数是如何工作的?
我无法理解欧几里德距离转换函数如何在Scipy中工作。据我所知,它不同于Matlab函数(bwdist)。作为一个例子,对于输入:
[[ 0. 0. 0. 0. 0.]
[ 0. 1. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 1. 0.]
[ 0. 0. 0. 0. 0.]]
的scipy.ndimage.distance_transform_edt函数返回相同的数组:
[[ 0. 0. 0. 0. 0.]
[ 0. 1. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 1. 0.]
[ 0. 0. 0. 0. 0.]]
但是MATLAB函数返回该:
1.4142 1.0000 1.4142 2.2361 3.1623
1.0000 0 1.0000 2.0000 2.2361
1.4142 1.0000 1.4142 1.0000 1.4142
2.2361 2.0000 1.0000 0 1.0000
3.1623 2.2361 1.4142 1.0000 1.4142
这使得更有意义,因为它将“距离”返回到最近的一个。
仅供参考,SciPy的源代码的链接[本文](HTTP ://ieeexplore.ieee.org.proxy.lib.fsu.edu/stamp/stamp.jsp arnumber = 1177156)。 –