2010-08-24 113 views
1

使用立体视觉,我生成的深度图代表从相机查看的3D环境。每个“关键帧”有一个与相机位置相关的深度图。目标是将这些2d深度图转换为三维空间(并且稍后将它们合并以重建整个环境)。从深度图表面渲染的3d渲染

什么是在3D中翻译这些深度图的最佳(高效)方法?每个深度图都是752x480大,所以三角形的数量可以增长得相当快。我想要一个自动系统来管理对象的详细程度。

我的团队使用Ogre3d,所以很高兴找到解决方案。我所寻找的与地形非常相似,除了我希望能够将产生的对象放在任何我想要的地方(平移,旋转),我认为地形不能这样做。

我对Ogre3d相当陌生,所以请原谅我,如果有一个直截了当的解决方案,我应该知道。如果另一个工具比Ogre3d更适合我的问题,我很乐意了解它!

回答

1

不清楚你想做什么“merge depahtmap with envirronement”?

无论如何,在你的情况下,你似乎坚持让他们使用地形高度技术的3D。 在您的情况下,由于深度图是屏幕对齐的,请使用屏幕空间简单的光线投射技术。因此,您必须在ogre3D中制作一个合成器,该合成器将该深度贴图转换为您想要的像素。

从深度图转换和旋转可能被限制在xy屏幕上,就像地形高度图(你不能使用heightmaps洞穴)一样,你会错过一个维度。

没有直接关系,但可能有所帮助:在纯粹的屏幕空间中,有一种技术“位置重建”可以帮助获取物体世界空间位置,但只有当摄像机上有大量信息用于生成深度图时重新使用,例如:http://www.gamerendering.com/2009/12/07/position-reconstruction/

+0

非常感谢您的回答。您提供的链接非常有趣。但有一点我没有说清楚:深度图是从现实世界的相机计算出来的,但是重构的环境应该可以在所有方向上进行探测。操作的结果应该是悬挂在空间中的变形网格,例如可以旋转。我正在寻找一个3D表示,不仅是屏幕渲染,所以我不认为我可以使用着色器... – Jim 2010-08-25 08:02:32

+1

然后,你就像高度重建像卡住了。 (你可能想尝试点云,但它往往更慢检查http://www.visual-experiments.com/) 使用深度图重建3D对象是一个图像分析的主题,所以你可能想看看那里(opencv库使用像http://sourceforge.net/projects/reconststereo/) – 2010-08-26 08:33:28

+0

谢谢!感谢visual-experiments.com网站,我发现http://grail.cs.washington.edu/software/cmvs/可以解决我面临的一些问题。我现在有一些阅读要做! – Jim 2010-09-06 13:25:29