跑跑车游戏网
您的位置:首页VR资讯中心VR百科 → 谷歌3D城市点云模型计算深度地图方法

谷歌3D城市点云模型计算深度地图方法

2017/6/5 9:05:43来源:本站整理作者:不详我要评论(0)

谷歌街景能够计算3D城市点云模型,那么怎么才能够做到?可以来这里了解一下。

计算深度地图

现在我们有了全景图片,接下来需要做的是提取对应的深度地图。

获得一个深度图像的JSON代码(representation)、其中包含了全景图片中每个像素从相机到最近表面的距离信息。

通过Base64处理这些数据,并将其转化成无符号8位整数的阵列( array of unsigned 8-bit integers)后,我们就能获得标题信息(Header Information)并获得有用的数据,例如参考平面数字(number of referenced planes)。

事实上,在512×256网络上的每一个像素都对应了众多平面(Planes)中的一个,通过Normal Vector和其到摄像机的距离而定。

所以,要想计算出一个像素的深度,我们必须决定从摄影机中心发出的光线和相对对应平面的交叉点。

将其重复到所有平面,我们能够将深度地图制成512×256元素的32位浮动阵列(32-bit float array of 512×256 elements),这个要比我们的RGB全景图片分辨率低多了。

至于计算,对于每个点我们考虑它相关的平面,将其距离计算如下:

算法1:深度地图计算

公式中的“indeces”包含了每个像素相关平面的阵列,为了能获得一个代表单平面w∗ h vector的更简便的图片,例如,我们可以创造colored canvas,其中宽度为w、高度为h,而每个像素可以被定义为:

算法2:深度地图可视化

这时候会的出一个下图类似的图片

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>