python – 重叠区域的卫星图像插值
发布时间:2020-12-20 13:25:21 所属栏目:Python 来源:网络整理
导读:我对卫星图像的插值有问题.我理解卫星如何拍摄地球的图像: 我试图通过使用以下代码执行插值: import scipy as scimport scipy.interpolate as spiimport numpy as npdef interpolate_data(img,lat,lon):p_x,p_y = sc.mgrid[-1:1:lat.shape[0]*1j,-1:1:lon.
我对卫星图像的插值有问题.我理解卫星如何拍摄地球的图像:
我试图通过使用以下代码执行插值: 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(),lon.ravel(),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是重叠的区域. 如果我使用上面的代码进行插值,我会将重叠区域计算两次并给出错误的数据.所以我想问一下是否有办法只计算一次这些重叠区域.谢谢. 如果我使用上面的代码进行插值,我会将重叠区域计算两次并给出错误的数据.所以我想问一下是否有办法只计算一次这些重叠区域.谢谢. 解决方法
如果您的图像附有地理范围数据(例如GeoTIFF文件),您可以考虑使用
GDAL library,此库是用C/C++编写的,但也有一个
python package.
它可以使用许多不同的格式,并具有几种不同的图像处理方法,用于图像变形和变换. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |