资讯动态

ENVI处理Landsat8影像全流程:从辐射定标到监督分类的实操指南

发布时间:2026/10/3 5:48:56 来源:尧图企业网站定制
简介面向遥感与地信专业的学生及实习人员这是一份基于ENVI软件处理Landsat8卫星影像的完整实验报告。报告按实验流程展开涵盖波段组合、图像裁剪与拼接、辐射定标与反射率求算、大气校正含FLAASH、图像融合Brovey、HSV、主成分变换、水体提取、植被覆盖度、温度反演大气校正法与单窗算法以及监督/非监督分类并给出土地利用变化分析的全过程步骤图与结果图同时附有实验目的、实验区概况及实习心得体会。压缩包内为1个docx文档约7.92MB图文并茂目录结构清晰便于直接参考或按需调整。已有1240人学习该资源。除操作步骤外还包含融合效果的定性目视解译与定量对比分析以及温度反演结果分析和分类结果图适合需要完成遥感实习报告或系统掌握ENVI实操流程的读者。1. ENVI处理Landsat8影像一份实验报告怎样才算真的跑通拿到一份Landsat8影像打开ENVI就急着做大气校正这是我在不少实验报告里反复看到的第一动作。但等你把处理链从头走完才发现很多坑恰恰埋在这个“急”字里——数据级别判断错、波段顺序颠倒、样本不纯导致分类精度虚高最后出来的报告只有流程图好看数字经不起追问。这篇东西围绕ENVI技术处理Landsat8影像的完整链路来写从数据准备、辐射定标、大气校正到波段指数与监督分类把每一步该看什么参数、怎么验证结果、哪些地方最容易翻车都拆开讲清楚。新手能照着把流程复现一遍熟手也能在里面找到平时不太注意的边界条件。2. 数据准备阶段分清L1与L2后再谈Landsat8影像的打开与裁剪2.1 先查MTL.txtL1与L2级产品决定了后续处理起点Landsat8的Level-1产品通常解压后会看到一长串单波段GeoTIFF外加一个MTL.txt文本文件。网上很多教程直接拿单波段tif去做辐射定标这没有错但前提是你手里的产品确实是Level-1。Collection 2框架下Landsat8的数据主要分成两类L1TP保留原始DN值需要用定标参数换算成辐亮度或反射率L2级产品则已经完成了辐射定标和大气校正直接给出地表反射率Surface Reflectance。实验报告里最常见的翻车点是把L2产品又拿去跑一遍FLAASH大气校正。判断方法很简单打开MTL.txt看文件开头几行或者直接看影像文件名里是“_L1TP”还是“_L2SP”。L2SP对应的PRODUCT_ID里通常带“SR”字样表示Surface Reflectance。拿到这种数据辐射定标和大气校正都可以跳过直接做裁剪和波段组合就行。养成拿到压缩包先查元数据的习惯比上来就打开影像省很多事。2.2 在ENVI里打开Landsat8数据与查看经纬度ENVI打开Landsat8有两种常见方式。一种是File→Open直接选多波段tif文件另一种是直接选中MTL.txt打开。我建议优先用MTL.txt方式因为ENVI会自动读取波段编号、中心波长、FWHM以及投影坐标系这些信息在后面的FLAASH参数设置里非常关键。如果直接打开单波段tif容易丢失波长信息后面需要手动补填。很多人问怎么查看导入影像的经纬度其实操作很直接在Viewer里把鼠标移到影像上右键选Cursor Value状态栏就会显示经纬度或者打开Data Manager选中文件后右键View Metadata也能看到坐标范围。如果光标位置只显示行列号而没有经纬度多半是这个文件没有定义坐标系需要在Edit Metadata里手动指定投影。常见做法是先确认研究区大致经纬度然后投影选WGS84 UTM Zone例如中国东部选Zone 50或51西部相应调整。2.3 波段合成与研究区裁剪减少后续处理的内存压力Landsat8 OLI传感器一共9个多光谱波段实际处理时不必把所有波段都合成进去。常用做法是把B1到B7加上B9合成一个多波段文件热红外B10和B11单独保留。在ENVI工具箱里用Layer Stacking工具完成波段合成注意输出顺序要和OLI原始波段顺序一致否则后续写Band Math表达式时会错位。合成之后做研究区裁剪。整景Landsat8影像约合7000×7000像素直接跑FLAASH和分类会非常占内存建议先用ROI或者Spatial Subset裁出研究区。常见操作是先用Layer Manager创建一个矩形ROI再用Tools→Subset Data from ROIs输出子集。裁剪时有个细节如果后续做FLAASH大气校正不要选输出为字节型或整型保持浮点型大气校正后反射率可能出现负值也属于正常整型会把这些负值截掉。提示所有中间文件路径不要带中文文件名里也不要有空格。ENVI对中文路径的兼容性一直是老问题等处理到一半报错再回头改路径费时还容易漏。3. 辐射定标与FLAASH大气校正让DN值变成可比较的地表反射率3.1 辐射定标公式与参数直接从MTL.txt取增益和偏置Landsat8 Level-1影像每个像元的DN值背后对应的是传感器入瞳处的辐亮度。辐射定标做的就是这个换算核心公式是L M_L × DN A_L其中M_L是增益项A_L是偏置项。这两个系数不用自己算在MTL.txt里能找到字段名是RADIANCE_MULT_BAND_x和RADIANCE_ADD_BAND_xx对应波段编号。比如一个像元的DN值是12000假设某个波段的M_L是1.2×10⁻⁵A_L是-0.5那么换算出的辐亮度就是1.2×10⁻⁵×12000 - 0.5 0.144 W/(m²·sr·μm)。ENVI里做这一步用的是Radiometric Correction→Radiometric Calibration工具。面板里需要关注的参数有三个Calibration Type选RadianceOutput Data Type选FloatScale Factor按后续用途选1或0.1。如果你紧接着要做FLAASH大气校正建议选Apply FLAASH Setting工具会按FLAASH的习惯把数值缩放到合理量级。这里有一个新手常问的点定标后辐亮度单位与FLAASH期望单位不一致时怎么办实际上ENVI内置的辐射定标工具对Landsat8做了适配重点是你选了Radiance而不是Reflectance。3.2 FLAASH大气校正参数面板传感器高度、地面高程、大气模型辐射定标做完影像仍然是大气顶层的辐亮度下面用FLAASH模块做大气校正把辐亮度转成地表反射率。这个工具的参数面板特别容易填错按下表逐项核对参数项推荐取值说明Sensor TypeUnknown/MultispectralLandsat8按多光谱处理Sensor Altitude(km)705Landsat8轨道高度约为705 kmGround Elevation(km)0.5或DEM统计值用研究区平均海拔精确值可对DEM统计Pixel Size(m)30可自动读取Atmospheric ModelMid-Latitude Summer国内中纬度春夏季实验最常见Water Retrieval2-Band (K-T)用两个近红外波段反演水汽Aerosol Retrieval2-Band (K-T)常规设置Aerosol ModelRural无特殊工业污染时选乡村型Initial Visibility(km)40能见度初始值有实测数据用实测值FLAASH对Landsat8有一个额外要求中心波长和波段宽度必须完整。如果打开MTL.txt的方式导入波长信息会自动填好如果直接打开单波段tif合成波长可能为空需要手动输入各波段的中心波长。具体数值同样在MTL.txt里字段是WAVELENGTH_BAND_x。这一步漏掉的话FLAASH会直接报错“wavelength file is invalid”。3.3 校正后的质量检查用植被光谱曲线判断是否成功大气校正不是点完OK就完事必须验证结果。最直观的检查方式是在Viewer里拉一条光谱剖面找一块植被密集的区域看像素光谱曲线是否符合典型植被形态蓝波段反射率较低绿波段有个小反射峰红波段是吸收谷近红外波段突然升高并保持高反射平台。如果校正后的曲线在红波段比近红外还高或者整体曲线平得像一条直线说明前两步大概率出了问题要么波段顺序错位要么FLAASH参数没选对。用IDL脚本方式打开Landsat8 MTL并检查波段波长是否齐全常见做法是; 用ENVI的IDL API打开Landsat8元数据并输出中心波长 e ENVI(/HEADLESS) mtlFile e.OpenRaster(LC08_L1TP_xxx_MTL.txt) foreach band, mtlFile, index do begin print, Band , index1, CWL, band.CWL endforeach这段代码的逻辑很简单通过ENVI的函数打开MTL文件ENVI会把它识别成多波段栅格foreach循环逐个波段读取CWL属性。如果打印出来某个波段的CWL是0或者空值说明波长没有正确读取FLAASH之前必须手动补全。我一般建议把这段输出保存成txt存档到实验报告附件里答辩时可以直接展示参数来源也算是一种可复现性的佐证。4. 波段组合、NDVI/NDWI与蚀变指数用Band Math把影像变成图与数4.1 真彩色与假彩色合成Landsat8哪三个波段搭配最顺手用户拿到的Landsat8多光谱波段里B2是蓝、B3是绿、B4是红、B5是近红外、B6和B7分别是两个短波红外波段。真彩色合成就是把B4放到红通道、B3放到绿通道、B2放到蓝通道。操作上双击打开多波段文件后在显示面板里点RGB手动指定三个波段即可。很多实验报告在这里习惯把B1当作蓝波段但B1是深蓝的海岸气溶胶波段对大气散射敏感拿它做真彩色合成后画面会偏灰蓝。假彩色合成则常用B5、B4、B3分别放到RGB通道这时植被显示为红色裸土偏黄绿水体呈深蓝或黑色。这个组合在目视解译时特别有用也是实验报告里展示研究区整体面貌最常用的图。如果你想让城市建筑和裸地区分得更开可以试试B7、B5、B4的组合短波红外对建筑材料的差异性表现更明显。4.2 NDVI与NDWI的Band Math写法先确认波段顺序再写表达式计算植被指数是实验报告里必跑的一步。NDVI的公式是近红外减红再除以近红外加红对应Landsat8就是B5和B4。在ENVI的Band Math工具里输入表达式; ENVI Band Math表达式变量名用波段号 (B5 - B4) / (B5 B4)执行后需要给变量B5和B4分别指定对应波段。重点来了如果之前Layer Stacking合成时波段顺序打乱过这里很容易选错选反了NDVI图会变成负片效果植被区出现负值水体反而高值。建议在输入表达式前先到文件元数据里看一眼每个波段的中心波长B4约为0.655微米B5约为0.865微米确认无误再指定变量。水体指数NDWI的公式略不同McFeeters提出的版本是绿波段减近红外再除以两者之和; 水体指数表达式B3是绿波段B5是近红外 (B3 - B5) / (B3 B5)输出类型要记得选Float。这个不大不小的坑很多人踩过整型除以整型在计算中被截断成0或1最后得到的NDVI图只有两个值根本没法用。Band Math输出对话框里有Output Data Type选项选32-bit Float哪怕中间计算出现负值也都能保留。4.3 阈值分割与多光谱蚀变信息提取做一个能写进报告的图层NDVI算完后可以直接做阈值分割把连续反射率数据变成类别图层。在ENVI里右键图层选Band Threshold阈值设为大于0.3作为植被区小于等于0.3暂归为非植被区。阈值怎么定其实没有绝对标准要参考你研究的物候期和现场调查样本。好的做法是拉一条区域直方图肉眼看双峰分布把谷底作为分割点这比拍脑袋定一个0.3要更有说服力。实验报告如果涉及地质或土壤方向还可以用Band Math做简易蚀变指数。Landsat8的SWIR波段对含羟基矿物有响应常用的比值表达式是B6除以B7高值区往往与粘土类蚀变矿物相关。Band Math写法为; 含羟基矿物蚀变异常指数多光谱粗提取 B6 / B7注意这里只能做蚀变异常区段的圈定达不到矿物填图的精度。和GF-5这类高光谱影像做蚀变信息提取不一样高光谱是逐个吸收特征波段做光谱匹配能从谱形上区分高岭石、伊利石、蒙脱石多光谱波段少只能给出“可能有蚀变”的候选区。5. Landsat8影像处理常见问题排查五个反复出现的坑5.1 现象L2产品再跑一次FLAASH反射率越修越离谱用Landsat8 L2级表面反射率数据直接做大气校正后植被近红外反射率反而降到0.2以下裸地出现大面积负值。原因L2产品已经包含大气校正二次校正相当于把大气效应过度去除。解决拿到影像先看文件名和MTL.txt确认数据级别。L2SR数据直接做裁剪、波段组合和指数计算最多只做辐射定标验证不要跑FLAASH。这一条几乎每个班都会有人中招也是实验报告的常见丢分点。5.2 现象影像上出现横向条纹拿着去条纹工具来回试还是花原因要分清来源。Landsat8 OLI是推扫式传感器正常产品条纹噪声并不明显。你遇到的条纹更可能是数据下载过程中出现条带缺失或者是Landsat7 SLC-off数据留下的扫描线空缺。把无人机单张影像去条纹的思路直接搬过来用FFT滤波把条纹频率过滤掉虽然能去掉条带但会把真实地物纹理一起抹掉整幅影像变得发糊。解决思路是先判断条纹是周期性还是随机性。周期性条带用ENVI里Frequency Filter基于FFT手动选取条纹对应的频率峰值并掩膜滤波半径尽量小只消除孤立峰随机坏线用局部中值滤波处理窗口通常3×3或5×5处理前一定另存一份原始影像。一句话去条纹有后悔药保存原图是前提。5.3 现象NDVI图植被区出现负值水体反而高亮整幅图像负片原因Band Math里波段指定错位最常见的是把B4当成近红外把B5当成红波段。有时候是Layer Stacking时波段顺序被手动重排视觉上没发现。解决在写表达式之前打开文件元数据逐个核对中心波长。Landsat8的红波段B4中心波长0.655微米近红外B5中心波长0.865微米两个数值差得很明显扫一眼就能确认。另外计算前确认影像浮点型整型除法截断也会导致NDVI异常。5.4 现象分类混淆矩阵总体精度95%但目视一看图里错分严重原因ROI样本不纯或者训练样本和验证样本来自同一块连片区域。最大似然分类器对样本均值和协方差非常敏感一个ROI里混入少量其他地类的像元就足以让分类器学偏。解决每一类至少选50个像元ROI要分布在影像不同位置而不是堆在一个角分类前用Compute ROI Separability计算样本分离度Jeffries-Matusita距离大于1.9才算合格小于1.8就要重新选样本。加了这步之后精度数值才值得写进报告里。5.5 现象ENVI里看不到导入影像的经纬度状态栏只显示行列号原因影像没有自带投影坐标系或者打开方式不对导致坐标系信息没有被读取。解决办法是按File→Open As→Optical Remote Sensing→Landsat让ENVI按Landsat产品的元数据结构读取然后再右键影像查看Cursor Value。如果仍然没有经纬度需要在Data Manager里右键Edit Metadata手动定义Geographic Lat/Lon或UTM投影。不要为了省事直接选“无坐标系”后面所有按坐标裁剪和制图步骤都会跟着出错。6. 最大似然分类与混淆矩阵用精度数据给实验报告收尾分类是很多Landsat8处理实验报告的最后一步。在ENVI里先建立ROI通过ROI Tool勾画地类样本例如水体、植被、裸土、建设用地四类。画样本时注意保持类别间光谱差异每一类最好在影像多个位置分别画几个多边形避免样本空间自相关。画完后马上做样本分离性检查计算Jeffries-Matusita距离这是很多人都跳过的一步却是分类结果可信度的重要参考。分类器选择最大似然法即可这是多光谱分类最常见、最稳定的算法。运行后得到分类结果做一次分类后处理用Majority/Minority Analysis把孤立小图斑消除核大小选3×3就够太大反而会抹掉真实边界。精度评定用Confusion Matrix Using Ground Truth ROIs把分类结果和验证ROI做对比重点看三个数值总体分类精度、Kappa系数和各类别的错分误差。实验报告里通常要求总体精度大于85%Kappa大于0.8达不到就要回去重新选样本或调整分类器参数。我自己的一个习惯是分类前先把每类样本的平均光谱曲线拉出来并排看一遍如果水体和阴影的曲线几乎重合就说明样本定义有歧义先处理这个问题再分类。报告里把这些验证步骤贴上分类图的可信度比单给一个精度数字高得多。最后希望这一整套从数据准备到精度评定的过程能帮到你让你在ENVI里跑Landsat8影像时不只在流程上完成实验也能在答辩时每一处参数都说得清楚缘由。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑