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

时间:2018-04-23 07:20:06

标签: math 3d geometry projection fisheye

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

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

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

为了使我的问题更加清晰,我将鱼眼摄像机和图像上的2D图像附加到了理想的结果中。 enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

首先,您需要相机的镜头校准数据。 Ocam或opencv将为您做得很好。

其次,正如您所提到的,您已经知道了光学中心,您可以将图像坐标转换为球体坐标。所以,现在你有了映射功能,可以将图像坐标映射到球体坐标。

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