如何将鱼眼图像转换为5或6立方图像

时间:2014-10-27 14:05:33

标签: opengl cube fisheye

我想将2D鱼眼图像解压缩到3d立方体。所以我认为有必要将鱼眼图像解压缩到6立方图像并将6立方图像重新映射到3d立方体。现在我对第一步感到困惑并且找不到一些关于互联网的具体论文和代码,希望有人能给我一些想法。 我能得到的结果是:

立方图像 cubic image

鱼眼图像 enter image description here

1 个答案:

答案 0 :(得分:0)

无法将任意鱼眼图像展开到立方体贴图。但是,如果你在谈论球形环境地图(SEM),而不是鱼眼图像,那么它可以通过一些限制来完成。

前段时间,我设法编写了一个可以将SEM地图转换为立方体贴图的软件,反之亦然。所以我可以证明这是可能的。 您应该知道,您将在靠近SEM边缘的区域中获得大的扭曲,该区域映射到立方体贴图的背面中心。 阅读此article,您将找到实现所需内容的所有必要信息。

有一个函数可以将方向向量映射到第9页的SEM的uv坐标。在第21页上,您将找到类似的功能,但对于立方体贴图。 因此,您的策略是为立方体贴图的每个纹素找到方向向量,然后对于此方向向量计算SEM坐标并从SEM图中采样纹素。

P.S。从您在评论中添加的链接中,我注意到您正在谈论半球形环境地图。除了从3d方向矢量到SEM坐标的映射之外,所有逻辑都是相同的。为了使用半球,从第9页改变等式并不难。您应该知道,对于半球形SEM,您将获得半立方体贴图。我的意思是,没有背面和裁剪的侧面。