Landsat8——从遥感数据下载到辐射定标大气校正的全过程
最近需要某市的遥感数据,去淘宝搜索后发现15m分辨率的全市图像需要80块钱,自己探索一下遥感图像处理的全过程。
整个图像处理的流程是:遥感影像下载——遥感影像波段合成——遥感影像辐射校正——多个遥感影像镶嵌——遥感影像裁剪——遥感影像大气校正
一、遥感影像下载
1.遥感数据选择Landsat8 OLI(Operational Land Imager 陆地成像仪)传感器的数据,属于使用非常广泛的遥感数据,免费且易于下载,有较多日期的数据可以选择。
2.数据下载来源于地理空间数据云(地理空间数据云 (gscloud.cn),其中Landsat系列、MODIS系列和DEM高程的遥感数据下载均为公开免费,但高分、资源系列遥感数据均为商业数据,需要购买。
3.遥感图像的选择:地理空间数据云的高级检索页面可以方便地对遥感数据进行检索,可以选择的检索项包括产品类型、时间、云量等,重点是可以通过行政区划对遥感数据进行检索。检索时推荐云量≤5%.勾选数据“有”选项。
4.在检索出结果后,点击图像即可看到影像的覆盖范围,如果有覆盖全部研究区域的最佳,如果没有可以选择下载多张遥感影像后续叠加。
在选择多张遥感影像时需要注意尽量选择月份相近,时间相近的影像,防止影像差距过大,后续镶嵌效果不理想。
二、遥感影像波段合成
Landsat8 OLI传感器的遥感数据包括多个波段,其中8波段是15m分辨率数据,其他波段分辨率则为30m,因此需要进行波段合成。此步骤需要ENVI(5.6或其他版本,本人使用了5.6版本)
首先,为打开Landsat8遥感数据文件,可以选择使用ENVI_APP_STORE扩展程序,在STORE中下载Landsat卫星数据打开助手。
1.在ENVI5.6中打开MTL头文件及B8波段tif文件
2.点击Image sharpening(图像融合)——Gram-Schmidt Pan Sharpening(Gram-Schmidt图像融合)。首先选择分辨率的多光谱数据文件,此时应选择后缀为MultiSpectral(多光谱)的文件
3.点击OK后需要选择高分辨率的全色波段文件,此时选择b8波段tif文件
4.点击OK后设置参数,如下所示,设置好后选择输出位置(建议不要有中文路径,但测试中发现有中文路径也可以)
5.输出成功,可以看到分辨率提高了
三、遥感影像辐射校正
在完成波段合成后,可以对得到的.dat文件进行下一步的辐射校正了
选择Radiometric Correction(辐射校正)——Radiometric Calibration(辐射定标),选择合成得到的.dat文件,设置参数如下,设置好后需要点击Apply Flaash Setting一下读取参数,最后设置输出路径。
注意,在这一步骤中输出路径就不能过长,不能有中文了,否则将会在处理过程中失去响应。
四、辐射校正影像的镶嵌
在镶嵌拼接时需要注意,如果遥感影像含有地理参考信息,可以使用ENVI中的“Pixel Based Mosaicking”工具,也可以使用“Seamless Mosaic”工具进行镶嵌拼接。当不含有地理参考信息时,仅能使用“Pixel Based Mosaicking”工具进行拼接。本文使用“Seamless Mosaic”工具(无缝镶嵌)(注:此步骤及之后使用中文语言包,需要注意的是:如果是中文包,不要将工具箱中的工具添加到收藏夹中,这会造成错误Variable is undefined:EXTSCRIPT,解决方法是删除C/user/Administrator/.idl文件删除收藏夹,此处需要感谢贴吧用户:天文学家twz提供的解决方法)
1.打开两幅需要拼接的经辐射校正处理后的文件
2.点击Mosaicking(图像镶嵌)——Seamless Mosaic(无缝镶嵌),由于本操作时使用了中文包,所以为图像镶嵌——无缝镶嵌
2.添加需要镶嵌的两个图像
3.为尽量使图像一致,在颜色校正界面点击直方图匹配进行颜色校正
4.接边线与羽化,可以选择自动接边线进行处理,处理效果也较好。
5.输出:首选选择输出路径,这里也尽量选择英文路径且路径不宜过长,重采样方法选择三次卷积即CubicConvolution,忽略值设置为0
遥感影像的镶嵌需要时间较长,至此图像镶嵌完成,进入图像裁剪部分。
注意:如果遥感影像数据比较大,而研究区域不需要那么大范围时,可以尝试先对每一张遥感影像裁剪后再拼接的方法,否则处理时间可能会需要一整晚甚至更长的时间,这是本人遇到的问题
五、镶嵌影像的裁剪
在裁剪前,已经在GIS中提前绘制好了需求区域的shp文件,坐标系可以不同,保存至相应目录中等待使用。
1.在ENVI5.6中打开前面镶嵌好的文件和shp文件(ENVI支持直接打开shp文件)
2.点击 感兴趣区——利用ROI裁剪图像(Subset Data from ROIs),选择镶嵌好的图像为要裁剪的图像
3.选择shp文件作为输入ROIs,这里需要注意参数中有一个选项是“腌膜ROI范围之外的像元?”(Mask pixel outside of ROI?),如果选择了yes,将会严格按照你绘制的范围进行裁剪,如果选择了no,将会按照包含有ROI范围的大矩形框进行裁剪,这里选择yes,裁剪好的文件如下,此时可以将裁剪好的文件导入至gis中查看是否符合要求。
4.在GIS中检查发现效果良好,重合度高,后续将会使用遥感图像对gis边界进行修正
六、遥感影像的大气校正
大气校正需要的时间较长,操作比较复杂,所以推荐将影像进行裁剪后再进行大气校正。
此外还需要注意一点,辐射定标一定要放在影像裁剪步骤前,因为辐射定标需要头文件内的信息,影像裁剪后头文件会缺失。
大气定标需要使用ENVI5.6中的FLAASH模块。快速校正模块虽然速度较快,操作简单,但校正结果一般,本文使用的图像在经过快速校正模块校正后效果变差了。
1.打开裁剪好的遥感影像,点击辐射校正——大气校正模块——FLAASH大气校正(Radiometric Correction——Atmospheric Correction Module——FLAASH Atmospheric Correction)
先选择输入影像数据,选择use single scale factor for all band,下方参数默认
2.设置输出路径,其中Reflectance是我们需要的文件,而directory for FLAASH files则是其他文件(操作中发现删除directory for FLAASH files的文件夹后也无影响,大气校正好的文件仍能打开),建议两个文件都修改为自己的路径,否则有可能会出现默认输出文件夹"C:\Users\用户名\AppData\Local\Temp"读写权限受限,导致读取不到相应的文件。
图像中心坐标FLAASH模块能够自动获取,需要手动设置的参数如下:
(1)Sensor type(传感器类型)需要选择Landsat8 OLI
(2)Ground Elevation(平均海拔)需要自行查询
(3)影像日期时间:部分教程提到这些数据可以自动获取,但是操作过程中发现并没有,需要查看头文件并手动填写,否则会出现警告并校正失败。
(4)Atmospheric Model(大气模型类型):需要根据成像时间和纬度信息选择,此处选择Mid-Latitude Summer,具体选择见下表(来自(38条消息) ENVI中辐射定标和大气校正_辐射定标结果怎么看_dahua1的博客-CSDN博客):
(5)Aerosol Model(气溶胶模型):主要选择urban(城市)或rural(农村):此处选择城市
(6)进入Multispectral Settings选项——Kaufman-Tanre气溶胶反演(Kaufman-Tarre Aerosol Retrieval)——Assign Default Values Based on Retrieval Conditions选项选择660:1200nm,另外需要注意Filter Function File需要检查是否是相应传感器的.sli文件。
(7)在Advanced Settings中将Title Size设置为100
以上全部设置完成后点击Apply开始大气校正,校正中可能会出现各种错误代码,详情请参见ENVI-IDL技术殿堂的文章ENVI FLAASH大气校正常见错误及解决方法(2023年2月更新) - ENVI-IDL技术殿堂 - 博客园 (cnblogs.com)
校正效果对比:
校正前
校正后
本文参考了以下文章实操并更新:
(38条消息) ENVI53 辐射校正、大气校正、影像裁剪超详细教程_envi大气校正_浩然harry_M的博客-CSDN博客
ENVI 5.3遥感数据预处理——以Landsat8为例 - 简书 (jianshu.com)