ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ENVI 5.3下Landsat预处理全流程:条带去除、辐射定标与FLAASH大气校正

ENVI 5.3下Landsat预处理全流程:条带去除、辐射定标与FLAASH大气校正 做遥感的人基本都遇到过这么个场景千辛万苦下载下来的Landsat影像打开一看一道一道的黑色条纹像拉链一样横在画面上心里瞬间凉了半截。这是Landsat 7的老毛病条带问题。就算数据肉眼看着挺正常你也别高兴太早——如果不做辐射定标、大气校正拿DN值直接算植被指数或者做分类结果往往会被各种传感器响应差异和大气干扰带偏甚至错得离谱。所以“条带去除、辐射定标、大气校正”这三个词其实是Landsat预处理绕不开的三板斧。这篇我把自己在ENVI 5.3里的完整操作流程写清楚包括每个工具在哪、参数怎么填、为什么这么填、填错了会出什么妖蛾子。文章适合刚接触ENVI的师弟师妹也适合处理过几景影像但总在某些步骤上卡壳的老油条。反正我这些年踩过的坑尽量都给你填上。1. 一步都不能乱的预处理流程先想清楚再做1.1 这三步到底在干什么很多人第一次拿到Landsat影像打开ENVI就急着点工具结果做到一半发现顺序错了前面全白干。所以在我讲具体操作之前你先花两分钟把这三步的逻辑关系捋明白。条带去除解决的纯粹是Landsat 7 ETM传感器的物理故障问题。2003年5月31日之后Landsat 7的扫描线校正器SLCScan Line Corrector失灵导致扫描成像时相邻扫描条带之间出现重叠不足甚至缺失的情况影像上呈现出规律的楔形缝隙也就是我们说的“条带”或“拉链纹”。这种缝隙在视觉上很难看更影响后续分析和制图所以第一步就要处理它。辐射定标做的事是把传感器记录的DN值Digital Number灰度值转换成具有物理含义的辐射亮度值或表观反射率。DN值是一个无量纲的相对值不同传感器、不同增益状态、甚至不同时间同一个DN值对应的真实辐射能量可能完全不同。如果不做定标不同影像之间根本没有可比性。大气校正则是把传感器接收到的表观反射率进一步换算成地表实际反射率。太阳辐射在到达地表和返回传感器的过程中会被大气分子、气溶胶吸收和散射导致信号里混入大量“非地表”的信息。FLAASH这类大气校正工具就是通过大气辐射传输模型把这些干扰估算出来并扣除掉让最终拿到的反射率尽量接近地表真实情况。这三步之间的先后顺序不是随便定的。条带去除最好放在最前面因为Landsat Gap Fill插件是基于DN值进行局部回归和插值的而且早期插件对输入文件的单位、数据类型有要求直接用原始DN数据最稳妥也最不容易出幺蛾子。辐射定标一定要在大气校正之前因为FLAASH的输入必须是辐射定标后的辐亮度数据单位是W/(m²·sr·μm)。你要是拿DN值直接喂给FLAASH模型根本没法算报错还算轻的万一算出来一堆负值那你才真叫一个头大。1.2 正确流程顺序与数据准备我在ENVI 5.3里的标准处理链路是用File Open As Landsat 打开Landsat L1级原始影像DN值数据对Landsat 7数据做条带去除Gap Fill对去条带后的影像做辐射定标Radiometric Calibration输出辐亮度对辐亮度数据做FLAASH大气校正输出地表反射率这套流程顺序我强烈建议你不要打乱。有朋友试过先辐射定标再去条带确实也能跑通但Gap Fill插件在输入辐亮度数据时往往需要对参数做额外调整而且部分版本对非DN数据的支持并不好容易在地物灰度范围变化后产生新的插值伪影。所以老老实实按顺序来才是最大程度减少意外的方式。数据准备阶段还有几个细节值得注意MTL文件一定不能丢。Landsat数据包里那个MTL.txt文件里存放着影像获取时间、太阳高度角、增益偏置、经纬度等关键信息ENVI在辐射定标和FLAASH大气校正时都要依赖它。如果你提前裁剪过大影像裁剪后的文件很可能不保留MTL信息后面定标就会因为缺乏系数而出错。所以我的习惯是先做预处理后做裁剪。等大气校正完拿到地表反射率了再按研究区边界裁剪这样最省心。处理好一条影像的数据量。Landsat 8多光谱波段全分辨率下大概要占几百MB内存做FLAASH时还会产生大量中间文件请确保磁盘剩余空间充足尤其是系统盘。我试过因为C盘满了导致FLAASH跑到一半突然闪退前面半小时全白干。建议把所有原始数据和中间产物分目录存放。我的个人习惯是建一个以影像ID命名的根目录下面再分L1、GapFill、Rad、FLAASH四个子目录每步输出都落到对应文件夹。这样后续找数据方便批处理时也可以用一个通配符把文件名串起来省很多事。2. 条带去除把Landsat 7的“拉链纹”补回来2.1 条带是怎么来的这一节的内容主要针对Landsat 7 ETM数据。Landsat 5 TM和Landsat 8 OLI/TIRS都没有SLC故障所以你处理这两种数据时可以跳过条带去除这一步。SLC故障的特点是影像中间区域的数据相对完整越往边缘缝隙越宽数据缺失越严重。原理解释起来很简单ETM的扫描镜是靠摆动来逐行扫描地面的SLC负责把每次扫描的条带精确拼接起来。SLC坏掉之后扫描条带彼此错位一部分地面被漏掉形成周期性出现的楔形空带。Landsat 7在SLC故障后仍然持续采集数据直到现在也有大量应用。很多研究区在某个时间窗口里只有L7数据可用所以条带去除这个操作在时序分析、土地利用变化研究里非常常见。2.2 用LANDSAT Gap Fill恢复条带数据ENVI 5.3处理条带最经典的工具是Landsat Gap Fill插件也就是网上常说的landsat_gapfill.sav。这个插件不是ENVI自带的需要单独下载然后放到ENVI 5.3安装目录下的extensions文件夹里。放好之后重启ENVI在Toolbox中搜索“Gap Fill”或者在菜单中找到Landsat Gap Fill就能看到工具入口。如果你的插件文件放进去后还是找不到我遇到过一种情况ENVI 5.3如果处于正在运行的状态它不会自动扫描新的扩展插件必须完全关闭再重新打开。另外注意插件文件后缀老版本是.sav新版本可能要求.pro编译ENVI 5.3用.sav版本是没问题的。工具打开后界面大概是这样的Input Landsat Image选择有条带的Landsat 7影像一般选择多光谱波段可以排除热红外波段。如果你用的是File Open As Landsat Landsat 7打开的L1数据这里会自动识别波段集合。Input Fill Image用于填补条带区域的参考影像。如果有同区域、接近时相的Landsat影像选它效果最好如果没有也可以选择同一景影像的其他波段数据作为参考或者直接使用单景数据交ENVI用局部回归方式自行预测。但实测下来有合适的“填缝影像”时效果远比单景自插值好。Adjust Pixel Size一般建议选Yes。因为Landsat 7的多光谱波段分辨率是30米但全色波段是15米如果不做像素大小统一后面计算时会出现几何不同步。Calibration Step这是迭代校准的步长参数数值越小计算越精细但耗时也越长。经验值通常在5到10之间。我处理过几十景L7数据默认值如果没被我改过一般都能得到可以接受的结果。Gap Pixels判断“空隙”的阈值当某块区域的缺失像元数量超过这个阈值时才被视为需要补缝。设得太小会把正常地物误判为缝隙设得太大则补不干净要根据影像中条带的实际情况调整。Output File指定输出路径和文件名建议命名为xxx_gapfill.dat保留原文件的同时方便后续环节引用。提交任务后ENVI会在进度条里显示处理状态。条带越宽、像元越多、选择的自適應窗口越大处理越慢。一景Landsat 7全波段数据大概需要跑几分钟到十几分钟不等头一次跑别着急。处理完成后把输出影像加载进来跟原始影像对比条带区域已经被填补地物纹理过渡自然看不出明显的拼接痕迹说明这一关算是过了。2.3 条带去除避坑要点条带去除看着简单实操中还是有几个值得提醒的点不要在有云区域附近过分依赖条带填补。云和云的阴影会改变区域内的光谱统计特征而Gap Fill本质上是对局部像元值进行回归和插值如果参考区域内正好有云干扰填补出来的条带区域会产生明显的光谱异常。我的经验是如果条带刚好穿过云区宁可在后续处理中把云和云影一起掩膜掉也不要强行去靠插值“修复”。填补后的条带区域在定量分析中要格外小心。Gap Fill恢复的毕竟是通过回归预测出来的近似值不是传感器实测值。做分类、面积统计可以但要是拿去做高精度的高光谱反演或者植被参数定量化务必要对条带区域单独评估一下误差。多时相分析中条带区域建议统一掩膜。如果时间序列中的每一景L7影像都带了条带而这些条带的位置是相对固定的SLC故障后扫描错位模式基本稳定各时期条带区域叠加后可以生成一个固定的掩膜分析时统一排除。这样能防止不同时期的条带补缝效果不同对变化检测结果造成干扰。插件版本和文件类型兼容性问题。如果你是用GeoTIFF直接打开而不是Open As Landsat插件有可能报“File not recognized”的错误。解决办法是先用File Save As把GeoTIFF转成ENVI标准格式.dat文件再运行Gap Fill。3. 辐射定标把灰度值换算成物理量3.1 为什么不能跳过辐射定标很多GIS背景的人会觉得ENVI里直接拿DN值算NDVI出来的图看着也挺正常的为什么非要费劲做辐射定标问题出在“看着正常”这四个字上。DN值本身只是一个量化后的数字它背后对应的辐射能量大小取决于传感器的增益、偏置、波长响应函数、太阳高度角、日地距离等一系列因素。同一块地如果你用Landsat 5和Landsat 8同时观测虽然实际做不到同时但原理一样即使地表反射率完全相同两景影像里对应像元的DN值也绝对不一样。如果拿DN值直接做时间序列分析这个系统性差异会完全淹没真实的地表变化信号。辐射定标之后影像每像元的值变成了具有物理单位的辐射亮度Radiance或表观反射率Reflectance。这样不同传感器、不同时相的影像才真正具备了可比性定量遥感的后续操作也有了可靠的数据基础。3.2 ENVI里的Radiometric Calibration完整操作在ENVI 5.3中辐射定标工具的位置在Toolbox里路径是Toolbox Radiometric Correction Radiometric Calibration打开之后首先选择输入文件。注意如果你已经处理过Landsat 7条带这里要选择的是你去条带后输出的那个文件而不是原始L1数据。选文件时ENVI会弹出一个文件波段信息框这里默认会列出这个文件里的所有波段。Landsat 5/7的多光谱数据一般包含6个反射率波段B1-B5、B7加1个热红外波段B6Landsat 8则包含OLI的8个波段B1-B7、B9加TIRS热红外波段。处理的时候建议在波段选择框里只保留反射率波段把热红外波段单独拿出来。原因在于热红外波段的定标单位是亮温Kelvin跟可见光近红外波段的辐亮度或反射率不是同一套物理量。混在一起处理输出文件的量纲关系会变得混乱后面FLAASH大气校正还要求输入文件必须是辐亮度一旦混入亮温波段FLAASH直接报错。接下来是几个关键参数Calibration Type定标类型有三个选项——Radiance、Reflectance、Brightness Temperature。我把它统一设置成Radiance因为这是下一步FLAASH输入所要求的。如果你只需要快速查看数据不准备做大校正选了Reflectance也算合理但既然流程到这一步建议一律输出辐亮度。Output Data Type输出数据类型辐亮度一般用浮点型Float这样可以保留小数精度。如果你输出到整数型数值会被截断后续计算精度受影响。Scale Factor缩放因子ENVI 5.3在定标辐亮度时不同传感器版本的默认缩放系数可能不同。Landsat 8的OLI数据在定标成辐亮度时有时候需要乘以0.1或者0.00001之类的系数具体看数据产品说明。ENVI如果自动读取了MTL文件一般会处理好但你要手动检查一下输出结果的值域范围。正常的Landsat可见光波段辐射亮度值通常在0到200左右如果发现输出值普遍在个位数或零点几徘徊就说明缩放系数可能不对回去检查设置。定标结果建议命名为xxx_rad.dat。输出后我在ENVI里做的第一件事就是用Cursor Value工具检查几个典型地物水体、植被、裸土的辐亮度值看是否在合理范围内。比如水体在近红外波段的辐亮度应该明显低于植被如果数值大小关系不对八成是波段顺序或定标系数出了问题。3.3 定标类型与常见错误很多教程会告诉你辐射定标有三种输出选项但不会告诉你它们分别用在什么场景。这里我展开说清楚Radiance辐射亮度传感器入瞳处的辐射能量单位W/(m²·sr·μm)。它是大气校正的输入条件也是我在标准流程里的第一选择。Reflectance表观反射率传感器入瞳处的反射率等于辐射亮度经过太阳辐照度和日地距离校正后的值。它可以在不依赖大气校正的情况下粗略比较不同时相影像但毕竟没扣掉大气影响严格来说只能叫“表观反射率”。Brightness Temperature亮温热红外波段专用单位K。用它可以直接反演地表温度但需要注意亮温是“等效黑体温度”跟真实地表温度之间还有比辐射率修正等步骤不能直接画等号。遇到最多的错误其实就是信息丢失裁剪后的文件做定标失败ENVI弹出错误提示找不到增益/偏置。原因是裁剪后MTL信息没有保留。解决方式上面说过先定标再裁剪或者用原始文件重新定标。定标结果数值异常大或异常小十有八九是输入文件的数据类型Unsigned Int、Float等或缩放因子没匹配上。比如GeoTIFF格式的DN数据有时是16位无符号整型但ENVI默认按8位打开软件会把它当成浮点或者截断定标自然不对。定标后显示为全黑或全白一般是数据拉伸问题不是定标本身出错。在ENVI里用Enhance Linear 2%拉伸一下能正常看到地物纹理就没问题。但如果拉伸后还是纯色赶紧检查定标输出文件的数据范围和直方图。4. 大气校正用FLAASH拿到地表反射率4.1 FLAASH的输入条件FLAASHFast Line-of-sight Atmospheric Analysis of Spectral Hypercubes是ENVI里最常用的大气校正模块基于MODTRAN大气辐射传输模型。它的核心思路是根据影像获取时的太阳角度、传感器角度、大气类型、气溶胶状况等参数模拟出大气对辐射传输过程的影响再把这种影响从影像数据中扣除。用FLAASH之前盲目的做法是把一幅文件丢进去乱填参数然后等结果。但正确做法是先检查输入数据是否满足FLAASH的基本要求必须是辐射亮度数据单位W/(m²·sr·μm)不能是DN值也不能是反射率。必须包含中心波长Center Wavelength和波段宽度FWHM信息。用File Open As Landsat打开的Landsat数据ENVI会自动把这些信息写进头文件。如果文件由其他方式生成比如你前面做了波段合并或者格式转换这些信息很可能丢了。这时先右键查看File Header确保中心波长和FWHM两列有值没有值就手动补上否则FLAASH分分钟报错。最好是经过几何处理的L1T或L1GT级别的数据这样文件自带RPC信息。如果数据没有经过几何校正FLAASH虽然也能跑但大气参数比如地面高程在你手里很难匹配准确结果精度受影响。在ENVI 5.3里FLAASH工具在Toolbox Radiometric Correction Atmospheric Correction Module FLAASH Atmospheric Correction4.2 关键参数逐个说清楚FLAASH界面第一次打开的时候感觉像进了飞机驾驶舱一堆输入框让人头皮发麻。但其实每一个参数都有明确的含义一条一条搞定并不复杂。Input Radiance Image选辐射定标输出的辐亮度文件。这里有个细节如果定标后的文件包含热红外波段FLAASH界面上会出现波段选择框让你排除热红外波段。必须先把热红外波段从列表中剔掉只保留适合大气校正的反射辐射波段。Output Reflectance File输出地表反射率文件建议命名xxx_flaash.dat。Center Latitude / Center Longitude影像中心经纬度单位是度。可以通过查看影像的属性信息获得也可以用ROI工具在影像上点一个中心点然后读取经纬度。这个参数决定了FLAASH选择哪一组大气廓线来做辐射传输计算填偏了会影响校正精度一般差个一两度问题不算太大但最好不要随便填个0。我记得有人图省事直接把经纬度填成0结果输出的反射率曲线形态全乱还以为是传感器坏了。Sensor Type传感器类型下拉菜单里有Landsat-5 TM、Landsat-7 ETM、Landsat-8 OLI等选项。选对后ENVI会自动匹配该传感器的波段响应函数、中心波长、FWHM等参数。这一步可以省去大量手动设置但后面还是要核对一遍尤其是Landsat 8。Flight Time / Date数据获取时的格林尼治时间GMT年月日时分。这个时间在MTL.txt文件里有注意Landsat产品默认给的是当地太阳时或者协调世界时你要确认是不是GMT再填。时间填差几个小时太阳天顶角和方位角就算错校正结果会带明显误差。Ground Elevation地面平均高程千米。平原区填0.1左右山区要填整个研究区的平均海拔比如青藏高原大部分地区可以填4到5。ENVI不会自动从DEM里提取平均高程所以这一步一定要手动调研。Pixel Size像元大小米。Landsat多光谱是30米Landsat 8的OLI全色是15米一定要按实际分辨率填。填错会导致最后输出的空间坐标网格对不上。Atmospheric Model大气模型这是新手最容易随便选的一项。它本质上是一组大气参数廓线温度、压力、水汽含量随高度的变化不同纬度和季节差别很大。我按经验整理了一个表纬度带夏季冬季0° ~ 20°热带Tropical热带Tropical20° ~ 30°中纬度夏季MLS中纬度夏季MLS30° ~ 45°中纬度夏季MLS中纬度冬季MLW45° ~ 60°中纬度夏季MLS中纬度冬季MLW60° ~ 90°亚极地夏季SAS亚极地冬季SAW中国大部分中纬度地区夏天选MLS冬天选MLW华南、海南这种热带区域全年用Tropical相对保险。Aerosol Model气溶胶模型。常见选项有Rural乡村/大陆性、Urban城市、Maritime海洋、Tropospheric对流层。这个参数描述的是大气中气溶胶的类型和组成。一般情况下城市周边选Urban农业区、林区选Rural沿海区域选Maritime。如果拿不准Rural是相对稳妥的默认选项因为它代表的是比较常见的大陆性气溶胶状态。Aerosol Retrieval是否做气溶胶反演。两个常用选项None手动设置能见度和2-band (K-T)两波段气溶胶反演。如果影像包含了清晰的暗目标比如深水体、浓密植被可以选2-band (K-T)让模型自动估算气溶胶光学厚度。但注意Landsat影像如果海岸带区域或者内陆水域占比较大反演效果会更好如果研究区都是裸土和城镇暗目标缺乏反演容易失败这时候老老实实选None手动填一个合理的能见度。Initial Visibility初始能见度km。这个参数跟气溶胶反演联动如果你选择了气溶胶反演这里填的初始值相当于迭代起点一般填40如果手动模式则直接决定大气校正扣除气溶胶散射的强度。能见度越小代表大气越浑浊校正时扣掉的大气影响越大。晴天能见度40到60km很正常轻度霾天能见度可能只有10到20km。填错能见度最直观的表现是校正后的反射率曲线整体偏高或偏低。我通常先填40跑一次看输出反射率是否符合常识不符合就调。Water Retrieval水汽反演选择。Landsat 8在1380nm附近有卷云波段在FLAASH里可以选1135nm附近的波段做水汽反演但实测下来Landsat数据反演水汽的稳定性一般而且如果影像上没有足够的水体暗像元反演出的水汽分布会很粗糙。我的建议是除非你对水汽信息有专门需求否则直接选No让FLAASH用大气模型内置的水汽总量来计算这样更稳。Spectral Polishing光谱平滑选项。这个对高光谱数据才有意义Landsat多光谱波段少光谱平滑一般不需要勾选。所有参数都填完之后点击OKFLAASH会弹出运行界面。处理速度取决于影像大小、大气模型复杂度和你开的反演选项。一景Landsat全幅数据跑下来少则十几分钟多则半小时以上跑的时候干点别的吧别盯着进度条。4.3 Landsat不同传感器的FLAASH设置差异FLAASH对不同Landsat传感器的支持程度不完全一样这里分型号说一下Landsat 5 TM / Landsat 7 ETM这类传感器波段设置经典ENVI内置的传感器参数非常成熟。用File Open As Landsat方式打开后FLAASH选中Sensor Type会自动匹配中心波长和FWHM不用人工管。基本只要把大气模型、气溶胶模型、能见度填对跑出来结果都比较漂亮。Landsat 8 OLILandsat 8比老传感器多了沿海气溶胶波段和卷云波段。ENVI对L8的支持在5.x版本里也做了持续升级但个别版本内置参数并不完整。我碰到过一次FLAASH选中Landsat-8 OLI之后点开“Edit”按钮发现某些波段的中心波长明显偏差或者缺失。解决办法是手动编辑这些波段的中心波长和FWHM数据来源可以参考USGS网站发布的Landsat 8波段响应函数文件。处理完顺便保存成模板后面同一传感器数据直接调用不用每次重填。4.4 顺带说说MODIS大气校正因为不少人搜索“MODIS卫星数据大气校正”我想着干脆也把MODIS的常见做法在这里点一下。MODIS数据的预处理跟Landsat有相似之处但也有明显的平台差异。MODIS的L1B产品里每个波段已经给好了缩放系数scale_factor和偏移量offset你拿到手的第一步是用公式真实值 DN × scale_factor offset把DN值转成辐亮度或反射率。不同波段的方向不同反射率波段有一个缩放系数辐亮度波段又是另一个缩放系数一定要在头文件里看清楚这个跟Landsat自动读取MTL的体验不太一样手动计算的时候容易搞混。至于大气校正MODIS数据在ENVI里也能尝试用FLAASH处理但有个前提条件你需要先通过MODIS Conversion ToolkitMCTK把MODIS L1B转成ENVI标准格式并把每个波段的中心波长和FWHM写入头文件。操作上比Landsat要麻烦一些。更省事的选择是直接下载NASA发布的MOD09GA/MOD09GQ地表反射率产品。这是官方已经做过大气校正的产品像元值就是地表反射率缩放系数0.0001很多研究直接用MOD09就够不需要自己在ENVI里折腾大气校正。只有当你需要特定波段组合、特定处理参数或者做逐像元验证时才考虑自己重新校正。所以提到MOD IS大气校正时我的第一建议永远是先看看官方产品能不能满足需求不能的话再上FLAASH。4.5 校正完成后怎么看效果大气校正做完很多人直接把结果拖进ENVI看一眼觉得“颜色跟原来差不多嘛”就完事了。大错特错。校正效果必须通过数值检查来判断。我会做三件事查看典型地物的光谱曲线。在输出反射率影像上分别对植被、水体、裸土取几个样本点绘制光谱剖面。正常的植被光谱曲线在可见光波段反射率低在近红外波段有一个明显的高反射“陡坡”红光波段反射率低于近红外波段水体在近红外波段反射率极低基本贴近零裸土曲线平滑各波段反射率都比较高没有明显吸收特征。如果实测曲线不符合这些规律比如植被近红外反射率低于红光要么是波段顺序错了要么是大气校正参数出了问题。检查像元值范围。地表反射率理论上在0到1之间有些数据会以0到100的百分比形式输出。强烈建议用Statistics工具统计一下输出影像的全局最小值、最大值和均值。如果出现大面积负值说明大气校正扣除过度常发生在能见度填得过小、气溶胶模型选择不当或者水汽反演失败的场景如果像元值普遍大于1排除水体和云等异常像元说明校正不足可能是能见度填得过大或者大气模型类型不准。目视检查有无异常斑块。把标准假彩色合成5、4、3波段对应R、G、B显示出来植被应该呈红色城市呈青灰色水体呈黑色或暗蓝色。如果影像上出现明显的圆形黑斑、白斑或颜色分块多半是局部云和云影未处理或者水汽反演产生伪影。这些区域不适合直接参与后续定量分析建议制作掩膜剔除。5. 高频故障与排查技巧实录5.1 每步都可能翻车的问题速查表下面这些故障是我处理Landsat数据时碰到过或者帮别人排查过的典型问题整理成一个速查表按“现象—原因—解决”的顺序写清楚。问题现象可能原因解决办法ENVI里找不到Landsat Gap Fill工具插件没放进extensions目录或ENVI没有重启检查插件文件位置重启ENVI后再搜索Gap Fill报错“Input file must be Landsat 7”输入文件不是通过Open As Landsat打开的L7数据或数据本身被转成了非标准格式改用Open As Landsat方式打开原始数据或先转成ENVI标准格式再尝试Gap Fill补缝后出现明显的“补丁块”辅助影像时相差异太大或Calibration Step/Gap Pixels参数设置不当换更接近时相的数据做参考或调整参数重新运行辐射定标报错“Unable to calibrate”影像的MTL信息丢失常见于裁剪后使用原始L1文件重新定标或者先恢复MTL信息再操作定标输出值整体偏大或偏小缩放因子或数据类型设置不对检查MTL中的增益偏置确认Scale Factor设置输出改为Float类型FLAASH报错“Input radiance must be in units W/(m²·sr·μm)”输入了DN值或定标时选了Reflectance回到辐射定标步骤重新输出Radiance类型的定标文件FLAASH输出反射率大面积负值能见度填得过小、气溶胶模型过强或水汽反演失败增大初始能见度换用Rural模型关闭水汽反演输出反射率曲线形态正常但整体偏高大气模型选错或者能见度偏大核对纬度和季节按大气模型对照表重填大气校正后的影像出现规律性条带花纹条带去除没做好或输入文件里仍残留条带检查去条带环节确认Gap Fill输出文件是否被正确用于定标一景影像处理时间特别长内存占用满开的反演选项过多或者中间文件太大关闭不必要的反演规划好磁盘空间必要时分块处理5.2 几个提升效率的实操心得最后分享几个我在实际处理过程中的习惯谈不上高大上但能少走不少弯路。第一个心得建立自己的参数模板。FLAASH里那些大气模型、能见度、气溶胶模型等参数对同一地区、同一季节的影像来说基本是固定的。我第一次处理某个研究区的数据时会花半小时认真核对所有参数确认输出反射率没问题后把这一套参数记下来或者直接在ENVI里存成模板。后面再来几景同区域的影像只需要改一下日期和时间其他参数直接复用。我最多一次同时处理了40多景Landsat影像靠的就是这套模板化的填参方式。第二个心得每步输出都保留中间文件别急着覆盖。条带去除后的数据、辐射定标后的辐亮度、大气校正后的反射率每一步都单独存盘。这样做的好处是当最后发现FLAASH结果有问题时你可以快速判断问题是出在大气校正参数上还是更早的定标环节上。我吃过一次亏把中间文件都删了结果最后反射率数值异常只能从头开始跑整条流程白白耗掉一下午。第三个心得善用ROI统计来快速判断处理质量。因为遥感影像动辄几十万个像元光靠肉眼很难发现系统性的数值偏差。我会在原始影像上框出几块具有明确地物属性的ROI比如一块纯水体、一块浓密植被、一块城市裸土把ROI保存下来然后在每个处理步骤后都对同一个ROI做区域统计看均值、标准差的数字变化是否符合物理规律。这个习惯让我在批量处理时能迅速定位是哪一步出了问题而不是等所有步骤跑完再回头慢慢查。预处理流程走到这里一景Landsat时空谱信息基本算是“洗干净”了。条带补好了DN值变成了辐亮度辐亮度又变成了地表反射率后续不管你是做监督分类、植被指数计算、地表温度反演还是变化检测手上的数据都站得住脚。我自己偶尔也会犯懒跳过某些步骤但每次结果被审稿人质疑的时候回头一看基本都是预处理没做到位。所以这几步踏踏实实走完绝对不亏。
返回列表