利用开源工具处理Landsat8影像

Dec 31, 2017

Landsat系列卫星影像是NASA发射的一系列陆地监测卫星,从1972的第一颗陆地卫星Landsat1到2013年发射的Landsat8,已经有将近50个年头了,Landsat系列卫星为地球监测,尤其是长时间序列的监测活动做出了巨大的贡献,而这也是我们所拿到的质量最好的免费遥感影像数据,Landsat的空间分辨率为30m,重访周期16天。

本文将使用GDAL这一开源工具来进行基本的Landsat8遥感影像处理,生成一幅漂亮的遥感影像图。

关于Landsat数据的获取,可以到USGS下载,下载下来的数据是GeoTiff格式的灰度图像,每个波段1个文件,这里所说的波段是指传感器的不同感受视野,不同的波段接收的光谱范围不同,那么Landsat8 共有11波段

每个波段的文件都是一张灰度图像,大概都张这个样子:

而这显然不是我们想象中的的地球样子,将其合并成rgb彩色图像才符合我们人类的视觉认知
利用GDAL提供的gdal_merge工具便可以将这些单波段的灰度图像组合到一起,生成一个RGB图像,下面我们把4、3、2波段分别对应到Red、Green、Blue三个通道

gdal_merge.py -separate -o merged_432.tif LC08_L1TP_118038_20170824_20170912_01_T1_B{4,3,2}.TIF

合并后的图像非常的暗,对比度太低,无法看清细节,怎么解决这一问题呢,只要做一个对比度拉伸就行,遥感影像中通常保留2%~98% histogram percentage就能达到一个比较好的可视化效果,对于当波段的灰度图像也是如此。

import numpy as np
import skimage.exposure as exposure

percent=2
pLow, pHigh = np.percentile(img[img > 0], (percent,100-percent))
img_rescale = exposure.rescale_intensity(img, in_range=(pLow,pHigh))
tifffile.imsave('merged_432_stretch.tif', img_rescale)
tifffile.imshow(img_rescale)

保存下载图tif文件任然无法直接在系统文件中预览,可以利用下面的命令将其转换成JPG文件

gdal_translate -of JPEG -scale -co worldfile=yes merged_432_stretch.tif merged_432_translate.jpg

上面利用4、3、2波段生成的是真彩色图像,也就是实际地表的颜色,其实还可以组合不同的图像生成不同的样色,比如利用5、4、3波段可以组合生成标准假彩色图像(突出显示植被)。

再比如利用5,6,4合成的假彩色,用于区分陆地和水体。

以上只是一些基本的操作,如果想要得到更加准确的效果,还要加入辐射定标系数、太阳高度角、日地距离等参数进行计算。

sshuair

Play with Geodata.

评论正在加载...
Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.
分享