我有两组线,设置A和B.这两组中所有线的起点和终点都是已知的,我想找到最适合B组到A组的旋转和平移。没有缩放:
对于某些背景,这是基于图像的原始机器人定位系统的一部分。
我看了看周围,例如:
How to align shapes together? (Geometrical Best-Fit Algorithm)
这是一个聪明的方法吗?轻击图像处理文献形状匹配似乎是光栅图像的更多模式匹配 - 这可能是这个问题的过度杀伤。
我现在能够感知的最好的方法是使用类似Hough变换的方法,沿着A中的每条线取B中的每条线,并且具有用于这些代表的旋转/变换的箱。我没有对此进行编码并尝试了 - 有点想避免重新发明轮子。
任何想法和输入都非常感激。
答案 0 :(得分:0)
一般解决方案是从集合A中提取“特征”并将特征与集合B进行比较。
一个例子:考虑集合A中的所有独特角度,并计算不同的唯一角度对。在集合A的示例中,只有三种可能的情况:(0,0),(0,90),(90,0)。对集合B中所有行的角度进行排序,并与集合A中的对进行匹配。示例:如果角度为0,5,50,93,129,则角度为(0,5),(0,93),( 5,93),(50,129)是匹配的候选者。一旦你有候选人,你可以进一步过滤它们。
根据集A中的行类型,您可以提取相关要素。示例:如果所有线条都是垂直或平行的,则可以使用线条之间的距离等功能。