合并2d线段

Jkh*_*kh2 14 math 2d vector line computer-vision

我正在寻找一种方法来连接2D线段.线段由两个矢量点组成,线段的起点和线段的终点.

我想加入看起来应该形成相同直线的线段,我不想加入线段,如果它们的方向完全不同,但碰巧有2个点彼此靠近.我将要使用的系统是一个计算机视觉系统,因此获得的线段不会是完美的,即方向可能稍微偏离,段可能不是全长等

我认为以下3个示例涵盖了我想要连接在一起的线段:

例

谢谢

fai*_*dox 10

这是计算几何问题,相关教科书中可能存在一些解决方案,但要注意这些问题通常很难解决,有限精度是一个真正的问题.关于这个问题(在2D中),您可能正在寻找的术语是线条接近共线.通常,您要确定线是否共线是首先将它们放在矢量表示中,然后在矢量之间取点积,这将等于线之间角度的余弦.因此,如果该值接近1,则它们接近共线并且应该连接.

下一个问题是确定线是否足够接近需要连接.你可以通过找到相交的线或找到具有非常接近的起点和终点的线来做到这一点......一般来说这并不是那么容易,但你可以用这种方式得到95%的线.