代码之家  ›  专栏  ›  技术社区  ›  Scott

如何将由4个点标识的任意平面投影到二维平面上?

  •  5
  • Scott  · 技术社区  · 15 年前

    我们试图解决的问题是在平面的两个不同表示中定位一个点。第一个平面旋转以创建透视图;第二个平面是同一平面的二维视图。我们知道每一个计划都有4分是相等的。问题是,如果我们在平面1中有一个任意点,我们如何在平面2中找到对应的点?

    最好是说明用例,以便最好地澄清问题。我们在左边有一幅插图。

    projective plane

    二维空间布局图

    所以我们得到的是这两张照片上的红色方块。请注意,如果可能,我希望二维空间不一定是正方形。这些都是我们提前知道的。在第一张图中,我还在飞机上画了绿点。i_d希望能够将图像1中的点投影到图像2中的空间。

    另请注意,对于图像1,我没有定义的窗口或眼睛位置。我只知道图像1中的红方块是红方块形式图像2的变换,图像2在二维空间中。

    最好是说明用例,以便最好地澄清问题。我们左边有一幅插图。

    Projective plane

    alt text

    二维空间布局图

    alt text

    所以我们得到的是这两张照片上的红色方块。请注意,如果可能,我希望二维空间不一定是正方形。这些都是我们提前知道的。在第一张图中,我还在飞机上画了绿点。我希望能够将图像1中的点投影到图像2中的空间。

    另请注意,对于图像1,我没有定义的窗口或眼睛位置。我只知道图1中的红色方块是图2中红色方块形式的变换,图2在二维空间中。

    1 回复  |  直到 15 年前
        1
  •  6
  •   Community Mohan Dere    8 年前

    这是在保持直线的四边形之间找到映射的一个特殊情况。这些通常被称为同形变换。这里,其中一个四边形是正方形,所以这是一个流行的特殊情况。你可以用谷歌搜索这些术语(“四到四”等)来查找解释和代码,但这里有一些适合你的。

    Perspective Transform Estimation

    a gaming forum discussion

    extracting a quadrilateral image to a rectangle

    Projective Warping & Mapping

    ProjectiveMappings for ImageWarping 保罗·赫克伯特。

    数学不是特别令人愉快,但也不是那么难。您也可以从上面的链接中找到一些代码。