【发布时间】:2017-10-05 20:20:06
【问题描述】:
假设我有一个逻辑矩阵 A(大约 1000x1000 大小),并希望为每个元素找到最接近 TRUE 值的欧几里得距离。如何在 Matlab 中快速完成?
例如,如果我有矩阵 A:
A = [1 0 0 0
0 1 1 1
0 0 0 0
0 0 1 0]
那我想要的是:
B = [0 1 1 1
1 0 0 0
1.41 1 1 1
2 1 0 1]
一种可能是 imdilate(),但是我必须用 2Mx2N 矩阵来扩展 MxN 矩阵,这将花费太长时间。
我尝试使用 pdist2() 计算从每个元素到每个元素 ==1 的距离,然后取最小值,但结果证明使用了太多内存。
有什么建议吗?我也会满足于一个近似它的解决方案。
【问题讨论】: