Opencv 透视变换结果线的条件

Opencv 透视变换结果线的条件,opencv,computer-vision,line,perspective,homography,Opencv,Computer Vision,Line,Perspective,Homography,我已经使用透视变换变换了一组线条。 我知道的关于这些线路的信息如下: 它们是直线而不是线段(不知道长度、起点或终点) 它们都是平行的 它们之间的距离是未知的,并且因对而异 所以,我要再次说明,我不知道蓝线。我只有果岭。甚至,我也不知道应用的同形图矩阵是什么 问题: 我需要一个方法,一个度量,一个算法,甚至是一个关于所有绿线必须满足的条件的提示 例如,如果我将此红线添加到集合中: 很明显,在应用转换之前,红线不可能存在于线集中,因此它当然是一种噪声。 所以我需要一个测量,如果我把它应用在绿

我已经使用透视变换变换了一组线条。 我知道的关于这些线路的信息如下:

  • 它们是直线而不是线段(不知道长度、起点或终点)
  • 它们都是平行的
  • 它们之间的距离是未知的,并且因对而异

所以,我要再次说明,我不知道蓝线。我只有果岭。甚至,我也不知道应用的同形图矩阵是什么

问题: 我需要一个方法,一个度量,一个算法,甚至是一个关于所有绿线必须满足的条件的提示

例如,如果我将此红线添加到集合中:

很明显,在应用转换之前,红线不可能存在于线集中,因此它当然是一种噪声。 所以我需要一个测量,如果我把它应用在绿线上,它会给我一个积极的反应,如果把红线加到绿线上,它会显示一个消极的反应,或者至少是一个较低的置信度


p.S.OpenCV可用且首选。

如果它们在透视投影前平行,则所有直线应在同一消失点相交。我想说的是,你应该用绿线计算这一点(也许有帮助),如果问题太大,可以拒绝。

谢谢。。“如果它们在透视投影之前是平行的,则所有直线应在同一消失点相交”。如果可能的话,请你告诉我在哪里可以找到这些信息(我不怀疑,我只是想知道来源,这样我可以阅读更多)顺便说一句,如果变换只是一个旋转,这是透视图的一个小例子。它们仍然是平行的。是特例吗?换句话说,条件是:它们是平行的还是在同一点上相交?我可以推荐这本书。你可以在“消失点和消失线”(或维基百科关于消失点的部分)中找到所有细节。老实说,我假设了你的一般情况。确实存在一些退化的透视变换,例如,将所有对象映射到一条直线。旋转是一种特殊情况是的。但情况依然如此。它们仍然有相同的消失点,但它在无穷远处。使用齐次坐标你也可以处理。你完全正确,这不是例外,它是一样的。。非常感谢你帮了我一个忙如果你找到了透视单应与平面的3d投影产生相同结果的来源,你会发现消失点:在透视变换平行线后会出现。