跑跑車游戲網(wǎng)
您的位置:首頁VR資訊中心VR百科 → 谷歌3D城市點(diǎn)云模型計(jì)算深度地圖方法

谷歌3D城市點(diǎn)云模型計(jì)算深度地圖方法

2017/6/5 9:05:43來源:本站整理作者:不詳我要評論(0)

谷歌街景能夠計(jì)算3D城市點(diǎn)云模型,那么怎么才能夠做到?可以來這里了解一下。

計(jì)算深度地圖

現(xiàn)在我們有了全景圖片,接下來需要做的是提取對應(yīng)的深度地圖。

獲得一個深度圖像的JSON代碼(representation)、其中包含了全景圖片中每個像素從相機(jī)到最近表面的距離信息。

通過Base64處理這些數(shù)據(jù),并將其轉(zhuǎn)化成無符號8位整數(shù)的陣列( array of unsigned 8-bit integers)后,我們就能獲得標(biāo)題信息(Header Information)并獲得有用的數(shù)據(jù),例如參考平面數(shù)字(number of referenced planes)。

事實(shí)上,在512×256網(wǎng)絡(luò)上的每一個像素都對應(yīng)了眾多平面(Planes)中的一個,通過Normal Vector和其到攝像機(jī)的距離而定。

所以,要想計(jì)算出一個像素的深度,我們必須決定從攝影機(jī)中心發(fā)出的光線和相對對應(yīng)平面的交叉點(diǎn)。

將其重復(fù)到所有平面,我們能夠?qū)⑸疃鹊貓D制成512×256元素的32位浮動陣列(32-bit float array of 512×256 elements),這個要比我們的RGB全景圖片分辨率低多了。

至于計(jì)算,對于每個點(diǎn)我們考慮它相關(guān)的平面,將其距離計(jì)算如下:

算法1:深度地圖計(jì)算

公式中的“indeces”包含了每個像素相關(guān)平面的陣列,為了能獲得一個代表單平面w∗ h vector的更簡便的圖片,例如,我們可以創(chuàng)造colored canvas,其中寬度為w、高度為h,而每個像素可以被定義為:

算法2:深度地圖可視化

這時候會的出一個下圖類似的圖片

網(wǎng)友評論

發(fā)表評論

(您的評論需要經(jīng)過審核才能顯示)

查看所有0條評論>>