【问题标题】:How to convert a fisheye image to 5 or 6 cubic image如何将鱼眼图像转换为 5 或 6 立方图像
【发布时间】:2014-12-22 17:41:12
【问题描述】:

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

立体图像

鱼眼图像

【问题讨论】:

  • 您无法从一张图像中获取整个立方体。看一下左侧立方体贴图的一部分。你看到鱼眼图像中楼梯的 90 度转弯了吗?
  • buics 通常是从多个角度拍摄镜像球体中提取的
  • 谢谢。但是我用这两张图片只是为了展示一个例子。[link]neuron.tuke.sk/pluchta/Pocitacove%20Videnie/Prednasky/HTML/…这个链接展示了基本理论,但我不知道如何实现它。

标签: opengl cube fisheye


【解决方案1】:

无法将任意鱼眼图像解包到立方体贴图。但是,如果您谈论的是球形环境图 (SEM),而不是鱼眼图像,那么它可以在一些限制下完成。

前段时间,我设法编写了一个软件,可以将 SEM 贴图转换为立方体贴图,反之亦然。所以我可以证明这是可能的。 您应该知道,在靠近 SEM 边缘的区域(映射到立方体贴图背面的中心)会出现较大的变形。 阅读这个article,你会发现那里有所有需要的信息来实现你想要的。

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

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

【讨论】:

猜你喜欢
  • 2011-07-10
  • 2019-11-21
  • 2016-02-14
  • 2019-11-16
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
  • 2019-09-29
相关资源
最近更新 更多