使用立体视觉,我正在生成表示从相机观察到的 3d 环境的深度图。每个与相机位置相关联的“关键帧”都有一个深度图。目标是将这些 2d 深度图转换到 3d 空间(然后合并它们以重建整个环境)。
在 3d 中转换这些深度图的最佳(有效)方法是什么?每个深度图都是 752x480 大,所以三角形的数量可以增长得相当快。我想要一个自动系统来管理对象的详细程度。
我的团队使用 Ogre3d,所以如果能找到解决方案就太好了。我正在寻找的东西与 Terrain 所做的非常相似,除了我希望能够将生成的对象放在我想要的任何地方(平移、旋转),我认为 Terrain 无法做到这一点。
我是 Ogre3d 的新手,所以如果我应该知道一个简单的解决方案,请原谅我。如果 Ogre3d 以外的其他工具更适合我的问题,我很乐意了解它!
最佳答案
不清楚你想做什么“将 depahtmap 与环境合并”?
无论如何,在你的情况下,你似乎坚持使用地形高度图技术使它们成为 3d。 在您的情况下,由于深度图是屏幕对齐的,因此请使用屏幕空间简单的光线转换技术。所以你必须在 ogre3D 中做一个合成器,它获取深度图并将它转换到你想要的像素上。
深度图的平移和旋转可能仅限于屏幕上的 xy,就像地形高度图(您不能使用高度图创建洞穴)一样,您确实错过了一个维度。
没有直接关系但可能有帮助:在纯屏幕空间中,有一种技术“位置重建”可以帮助获得对象世界空间位置,但前提是您在用于生成深度图的相机上有大量信息重新使用,例如:http://www.gamerendering.com/2009/12/07/position-reconstruction/
关于c++ - 从深度图中绘制表面的 3d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554953/