加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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.

它可以使用许多不同的格式,并具有几种不同的图像处理方法,用于图像变形和变换.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读