我有两组,每组都是一对数字的列表
Set1 =[(x1, y1), (x2, y2), ..., (xN, yN)]
Set2 =[(a1, b1), (a2, b2), ..., (aN, bN)]
如果绘制在 XY 平面上,Set1 和 Set2 具有相同的基本形状,但是 set2 的数据点是 set1 的旋转/平移/缩放/噪声/倾斜版本。每组中的对的顺序是随机的。有没有一种有效的方法来确定 set1 中的哪些点对应于 set2 中的对应点?
最佳答案
您正在寻找尝试最小化两个点云之间差异的一系列算法。这是一个相当难解决的问题,可能有多种解决方案(例如,如果给你两个立方体,则有很多可能的旋转方式)。
一种特别流行的方法是 ICP (iterative closest point) algorithm ,它从一个候选猜测开始,并不断改进它,直到达到某些正确性标准或时间到期。这可能是一个很好的检查起点。
希望这对您有所帮助!
关于从两个集合中匹配对的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266649/