2016-04-11 59 views
6

我一直試圖從谷歌街景數據中獲取數據一段時間。出於研究目的,我需要能夠估計某個特定地圖位置的天空區域。這就是爲什麼我需要對球形視圖進行估計,並且我認爲使用Google街景視圖會是一個好主意。我真正需要的是一個3d方向,我應該能夠告訴像素在這個方向上的顏色是多少。谷歌街景:獲取街景數據的替代方式

我剛纔提出的是以下內容。我使用Google Street View Image API爲立方體紋理(尤其是我提交6個查詢與參數使用它們下載6張圖片:

(heading, pitch) = {(0, 0), (90, 0), (180, 0), (270, 0), (0, 90), (0, -90)} 

當我映射那些6個圖像立方體我所得到的是這樣的:

corner example

的問題是,它似乎有一些數值誤差和邊角失配。我有一個想法如何解決它,但複雜性的增長受到了很多。

我也看了一下javascript中的PI,但找不到從那裏訪問數據的方法。有UV貼圖offcial指南

enter image description here

上一提,但似乎這是針對只爲用戶生成的內容。

我錯過了什麼嗎?有沒有其他方法可以做到這一點?

+0

你只貼一個圖像......你能告訴我其他5幅圖像,你得到了什麼? –

+0

@SariAlalem在措詞上有錯誤。對此感到抱歉 – svs

+0

您是否嘗試了360度視頻片段?YouTube上有一大堆球形框架:https://www.youtube.com/channel/UCzuqhhs6NWbgTzMuM09WKDQ – PseudoAj

回答

1

基本上你想做谷歌已經做的事情,但你需要它的3D表示。

使用下面的方法(並不容易),你可以得到更好的結果,但並不完美。基本理論是這樣的:

  1. 獲取圖像列表(6或更多,一些使用8; 6爲水平視圖和2爲頂部和底部)。
  2. 使用您偏好的方法將圖像拼接在一起,您可以在拼接圖像here時找到幫助。
  3. 拼接,你會最終有一個單一的形象後,這將是你的紋理
  4. 構建一個三維形狀(球形,六角形或缸)
  5. 應用紋理的三維形狀
  6. 隨身攜帶試驗:a)圖片downladed。 b)拼接。 c)紋理映射。以獲得更好的效果

這是(可能)Google遵循的過程,以便您可以在其服務中看到360視圖,並且您需要執行相同操作以獲取代碼中的3D表示,但它將不會是完美的,因爲你得到的圖像不是由谷歌拍攝的原始圖像(這使得拼接更難)。

Readmore它herehere

+0

感謝您的建議。當我提到:「我有一個想法如何解決它」這正是我想到的。問題是我一直在試驗這種方法一段時間,我沒有得到好的結果。我正在尋找更簡單的方法。如果沒有其他答覆,我會獎勵你的努力。 – svs

+0

另一個想法是,如果您只是想要像素的顏色,則不需要將其映射到3D形狀...只需使用最終的圖像像素 –