这里简单介绍如何使用IDL对影像进行抽样、压缩、生成快试图。
一、示例数据情况概述
GS融合之后的GF2数据(5.25GB)按0.1系数抽样,压缩之后的TIFF图像为26.9MB。抽样前后对比如下:
压缩后的图像也可以直接通过系统自带查看器查看:
二、抽样方法
这里主要使用到了IDL中的getData( )方法。
从打开的栅格按比例系数获取数据:
factor = [0.1, 0.1]
tempraster = raster.getData(xfactor=factor[0],yfactor=factor[1])
通过构建新的Spatialref,固定压缩后的数据,保持原始图像的坐标不变:
spa = raster.spatialref
spaNew = ENVIStandardRasterSpatialRef($
COORD_SYS_STR = spa.COORD_SYS_STR, $
PIXEL_SIZE = spa.PIXEL_SIZE / factor, $
TIE_POINT_MAP = spa.TIE_POINT_MAP, $
TIE_POINT_PIXEL = spa.TIE_POINT_PIXEL $
)
lowraster = ENVIRaster(tempraster, $
interleave = 'bsq', $
spatialref = spaNew, $
metadata = md $
)
最后做了一个2%的线性拉伸,保存成压缩后的TIFF图像即可:
newRaster=ENVILinearPercentStretchRaster(lowraster, percent=2.0)
newRaster.export,new_FILE,"TIFF"