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

如何将彩色点从2D图像移动到3D球体

  •  2
  • VideoProcessingResearcher  · 技术社区  · 6 年前

    我有2D彩色图像。所有彩色点都位于该矩形图像中心的圆形区域内,圆形区域外的所有点都是黑色的(我从鱼眼照相机获得这些矩形图像)。 我知道这个圆的中心坐标和半径。

    我需要将所有彩色点从2D图像上的圆形区域移动到球体表面。更精确地说是半球,因为我的相机有180度的视场。

    我的问题是。如何正确移动这些彩色点?根据球面方程将Z坐标指定给圆区域内的所有点是否正确?

    为了让我的问题更清楚,我附加了鱼眼相机的2D图像和效果理想的图像。 enter image description here enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   Chanoh Park    6 年前

    首先,您需要相机的镜头校准数据。Ocam或opencv将为您提供出色的服务。

    第二,正如您提到的,您已经知道您的光学中心,您可以将图像坐标转换为球坐标。现在有了映射函数,可以将图像坐标映射到球坐标。

    第三,需要某种渲染工具来观察图像映射的球体。最简单的方法是使用OpenGL。将纹理映射到球体上,并在球体内移动摄影机。