2011-11-14 30 views
4

我遇到了衛星圖像插值問題。我瞭解地球的衛星拍攝的圖像:重疊區域的衛星圖像插值

enter image description here

,我嘗試使用下面的代碼來進行內插:

import scipy as sc 
import scipy.interpolate as spi 
import numpy as np 

def interpolate_data(img, lat, lon): 

p_x, p_y = sc.mgrid[-1:1:lat.shape[0]*1j, -1:1:lon.shape[1]*1j] 
n_x, n_y = sc.mgrid[-1:1:img.shape[0]*1j, -1:1:img.shape[1]*1j] 
n_lat = spi.griddata((p_x.ravel(), p_y.ravel()), lat.ravel(), (n_x, n_y), method='linear') 
n_lon = spi.griddata((p_x.ravel(), p_y.ravel()), lon.ravel(), (n_x, n_y), method='linear') 
print "n_lat:",n_lat.shape 
print "n_lon:",n_lon.shape 
print "img:",img.shape 
return n_lat, n_lon 

但如果我這樣插,我會有不正確的數據。

就我而言,衛星將要拍攝9次地球。曲線A和曲線B之間是衛星在第一次拍攝中拍攝的區域。曲線C和曲線D之間是衛星在第二次拍攝中所佔的面積。 E和F是重疊的區域。

如果我使用上面的代碼進行插值,我將計算兩次重疊區域並給我錯誤的數據。所以我想問一下,是否有一種方法來統計這些重疊區域。謝謝。

enter image description here

如果我用上面的代碼進行插值,我會算兩次重疊區域,並給我錯誤的數據。所以我想問一下,是否有一種方法來統計這些重疊區域。謝謝。

回答

1

如果您的圖片附有地理範圍數據(例如GeoTIFF文件),您可以考慮使用GDAL library,該庫使用C/C++編寫,但也有python package

它可以處理數十種不同的格式,並有幾種不同的圖像處理方法用於圖像變形和變形。

0

難道你不能只連接9個鏡頭的所有數據,並且一次插入全部?我沒有看到任何理由分別處理這九個數據集。如果你有一個,我認爲你最好創建9個不同的圖像。