【问题标题】:What is the difference between the fundamental, essential and homography matrices?基本矩阵、本质矩阵和单应矩阵之间有什么区别?
【发布时间】:2013-04-11 21:12:23
【问题描述】:

我有两张从不同位置拍摄的图像。第 2 个摄像头位于第 1 个摄像头的右侧、上方和后方。

所以我认为两个视图之间存在透视变换,而不仅仅是仿射变换,因为相机的深度相对不同。我对吗?

我在两张图片之间有几个对应点。我想用这些对应点来确定每个像素从第 1 张图像到第 2 张图像的变换。

我对 findFundamentalMatfindHomography 的功能感到困惑。两者都返回一个 3x3 矩阵。 两者有什么区别?

是否有使用它们的必要条件/先决条件(何时使用它们)?

使用哪一个将点从第一张图像转换为第二张图像?在函数返回的 3x3 矩阵中,它们是否包括两个图像帧之间的旋转和平移?

Wikipedia,我读到基本矩阵是对应图像点之间的关系。在 SO 答案here 中,据说需要基本矩阵 E 才能获得对应点。但我没有内部相机矩阵来计算 E。我只有两个图像。

我应该如何确定对应点?

【问题讨论】:

    标签: opencv transform homography perspectivecamera projective-geometry


    【解决方案1】:

    如果没有对世界场景几何的任何额外假设,您不能肯定两个视图之间存在射影变换。仅当场景是平面时才适用。 Hartley 和 Zisserman 的书Multiple View Geometry in Computer Vision 是关于该主题的一个很好的参考。

    如果世界场景不是平面的,你绝对不应该使用 findHomography 函数。您可以使用 findFundamentalMat 函数,该函数将为您提供基本矩阵 F 的估计。该矩阵描述了两个视图之间的对极几何。您可以使用 F 来校正您的图像,以便应用立体算法来确定密集对应图。

    我假设您使用“透视变换”来表示“投影变换”。据我所知,透视变换是世界到图像的映射,而不是图像到图像的映射。

    【讨论】:

      【解决方案2】:

      基本矩阵有关系 x'Fu = 0 x 在一个图像中,u 在另一个图像中,当且仅当 x 和 u 是同一个 3d 点的投影。 还 l = 福 定义了一条线 (lx' = 0),其中 u 的对应点必须在其上,因此可用于限制对应关系的搜索空间。

      Homography 将平面的一个投影上的一个点映射到该平面的另一个投影。 x = 胡

      【讨论】:

        【解决方案3】:

        只有两种情况,两个视图之间的变换是投影变换(即单应性):场景是平面的,或者两个视图是由围绕其中心旋转的相机生成的。

        【讨论】:

          猜你喜欢
          • 2019-11-06
          • 2014-05-11
          • 1970-01-01
          • 2013-08-03
          • 1970-01-01
          • 2011-03-17
          • 2017-06-01
          • 1970-01-01
          • 2016-08-15
          相关资源
          最近更新 更多