在 numpy 中,我有一个由 1 和 0 组成的二维数组。我需要计算一个新数组(相同维度),其中每个元素都包含距离掩码数组中相应点最近的 1 的距离。
例如
a=np.array(
[[1,1,0],
[1,0,0],
[1,0,0]])
我需要 b 看起来像这样:
array([[0,0,1],
[0,1,1.41],
[0,1,2]])
附言。我将在非常大的阵列上执行此操作,因此效率越高越好! 谢谢!
最佳答案
您正在寻找 MATLAB 的 bwdist
的等价物;查看this SO question更多细节。简短的回答是使用 scipy.ndimage.morphology.distance_transform_edt
.
关于python - 如何有效地计算到 numpy 中掩码中最近的 1 的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669841/