python使用osgeo库_python3+osgeo处理高分影像初探

这篇博客介绍了如何使用Python3和osgeo库进行高分影像的正射校正与融合操作。通过对比,发现Python3+osgeo在处理速度上远超ENVI/IDL接口,且代码包括了解压、正射校正和融合等步骤,最终展示了与IDL处理结果的对比,分析了两者差异可能源于正射校正过程中的平滑处理不同。
摘要由CSDN通过智能技术生成

之前用IDL写高分预处理的时候,就有想过可不可以用python+GDAL写,可是一直卡在了第一步的正射校正,gdal.Warp()函数始终找不到放DEM的位置,最近终于找到了。我尝试了一景1.3G的GF1/WFV,采用ENVI/IDL的脚本运行每次都需要500s以上,而python3+osgeo则稳定在惊人的15s以内!就速度而言,python3+osgeo远远快于ENVI接口。

以下是今天写的简单的代码,包括解压函数,正射校正函数和融合函数(GDAL的融合方法只有默认的加权brovey变换)。运行了一景GF6/PMS,并和IDL版白鸽的结果作了简单对比。

import sys, os, tarfile, tempfile as tmp

from osgeo import gdal, osr

from gdalconst import *

def unpackage(fn):

dirname, basename = os.path.split(fn)

odir = os.path.join(dirname, 'snowyDove_' + basename[0:-7])

with tarfile.open(fn) as file:

file.extractall(path = odir)

return odir

def ortho(ifn, demfn, res, ofn):

ds = gdal.Open(ifn, GA_ReadOnly)

isNorth = 1 if os.path.basename(ifn).split('_')[3][0] == 'N' else 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值