我正在使用谷歌地圖靜態 api 來獲取具有表面坐標(LoD1 / LoD2)的物體的頂視圖衛星影像。
這些點總是略微偏離,我認為這是由于衛星影像本身的小傾斜(這是一個正確的假設嗎?)。
例如,在這張圖片中,我有建筑物的形狀,但點有點偏離。有沒有辦法為所有物件糾正這個問題?
紅色標記是標準的 google-maps api 指標,原始影像的中心(這里是裁剪的)是建筑物的中心,白線是物件形狀的 cv2.polyline 實作。
僅移動 n 個像素無濟于事,因為偏移量取決于衛星與物體之間的角度以及該物體的形狀。我正在使用pyproj庫來轉換坐標,然后將坐標轉換為像素值(通過將中心點設定為中心像素值,并且在坐標空間中有差異,也可以計算邊緣點像素值)。
uj5u.com熱心網友回復:
所以 - 好訊息是沒有必要對所有物件進行“糾正”,因為不使用 3d 模型和紋理就無法做到這一點。
谷歌(或大多數地圖平臺)實際上并不使用衛星影像,他們使用飛機影像。飛機不會直接飛越每座建筑物的頂部(想象一下,如果他們這樣做了,它們的飛行路徑將是多么緊湊/冗余!)。
取而代之的是,飛機會從某個角度拍攝影像,然后通過攝影測量處理的奇觀,將影像全部校正和正射校正,使地表處處都在正確的位置。
在 2d 影像中不能(也不應該)校正的是物體在地面高度之上的位置。就像你影像中的屋頂。舉個更極端的例子,看看摩天大樓,你會發現你永遠無法在地面上得到正確的像素: https ://goo.gl/maps/4tLSrd7yXQYWZPTy7
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/496053.html
標籤:Python opencv 谷歌地图 pyproj 每股收益
