我有 2 个矩阵A
,B
大小Rows X 2
分别Rows = m , n
为 A 和 B。这些 m 和 n 表示欧几里得空间中的点。
我希望执行的任务是匹配来自 A 和 B 的最大点数(假设 A 的点数少于 B ),条件是距离小于阈值
d
并且每一对都是唯一的。
我已经看到了这个最近的点对,但这对我的问题不起作用,因为对于 A 中的每个点,它都会选择 B 中的最小值。但是,我从 A 和 B 中选择的第一对可能是错误的,导致数量减少的匹配对。
我正在寻找一个快速的解决方案,因为 A 和 B 都包含大约 1000 个点。同样,会留下一些要点,我知道这会以某种方式导致详尽的搜索。
我正在寻找一种解决方案,其中 matlab 中有某种内置函数,或者使用可以帮助其 matlab 代码可用的数据结构,例如kd-trees
. 如前所述,我必须找到从 B 到 A 的唯一最近匹配点。