ENVI 5.6 利用现场标准校准板计算地表反射率具体步骤
核心目标: 利用已知反射率的校准板,建立DN值与地表反射率的线性关系 ρ = a × DN + b,并将此关系应用于整个Pix4D拼接影像,得到定标后的反射率影像。
第一步:准备工作与环境搭建
-
数据整理:
-
**Pix4D拼接影像:** 准备好最终的GeoTIFF格式的多光谱正射影像。假设它有4个波段(例如:蓝、绿、红、近红外)。
-
**校准板信息:** 明确您的校准板反射率。例如:
-
灰板A:30% (0.3)
-
灰板B:80% (0.8)
-
-
**现场照片:** 保留拍摄校准板时的现场照片,用于在拼接影像中定位。
-
-
软件启动:
-
打开ENVI 5.6。
-
建议在菜单栏选择 File > Data Manager,方便管理后续生成的多个文件。
-
第二步:在拼接影像中定位并提取校准板的DN值
这是最关键的一步,精度取决于此。
-
加载影像:
- 在ENVI主界面或Data Manager中,点击 Open,选择您的Pix4D拼接影像并将其打开。
-
创建ROI(感兴趣区):
-
在右侧工具栏找到并点击 Region of Interest (ROI) Tool 按钮(图标像一个点连成的多边形),或使用快捷键 R。
-
在ROI Tool面板中,确保ROI类型为 Polygon(多边形)。
-
在影像窗口中,结合现场照片和地理特征,找到一块校准板。
-
仔细地沿着校准板的边缘绘制一个多边形。务必只圈选校准板中心颜色均匀的区域,避开边缘、任何可能的阴影或高光反光点。ROI内部应呈现单一均匀的色调。
-
绘制完成后,在ROI Tool的列表中,右键点击默认的ROI名称(如ROI #1),选择 Rename ,将其重命名为有意义的名字,例如
ROI_30percent(对应30%灰板)。
-
-
重复创建所有校准板的ROI:
-
在影像中找到第二块校准板(如80%灰板),重复上一步操作,创建一个新的多边形ROI,并命名为
ROI_80percent。 -
**注意:** 如果校准板较小,确保每个ROI包含至少30x30像素的区域,以减少随机噪声的影响。
-
-
计算ROI内DN值的均值:
-
在ROI Tool面板中,确保您创建的所有ROI都处于选中状态(可按住Ctrl键多选)。
-
点击ROI Tool面板下方的 Statistics for All ROIs 按钮(一个带表格图标的按钮)。
-
在弹出的窗口中,确保 Input File 是您的拼接影像,ROI List 里包含了您刚创建的所有ROI。
-
点击 OK。ENVI会计算每个ROI在每个波段上的统计信息。
-
在结果列表中,重点关注 Mean 列。这就是我们需要的DN值均值。
-
**记录数据:** 创建一个简单的表格,记录下每个校准板在每个波段的DN均值。
-
| 校准板 | 已知反射率 (ρ) | 波段1 (蓝) DN均值 | 波段2 (绿) DN均值 | 波段3 (红) DN均值 | 波段4 (近红外) DN均值 |
|---|---|---|---|---|---|
| 30%灰板 | 0.3 | (例如: 120) | (例如: 135) | (例如: 200) | (例如: 180) |
| 80%灰板 | 0.8 | (例如: 450) | (例如: 480) | (例如: 500) | (例如: 520) |
至此,步骤二完成,我们获得了求解线性方程所需的 (DN_measured, ρ_standard)数据点。
第三步:计算定标系数 (a 和 b)
我们将对每个波段分别进行计算。以上面的表格数据为例,演示如何计算红波段的系数。
-
建立方程:
-
对于红波段,我们有两个点的数据:
-
点1: (DN₃₀ = 200, ρ₃₀ = 0.3)
-
点2: (DN₈₀ = 500, ρ₈₀ = 0.8)
-
-
线性方程为:
ρ = a × DN + b
-
-
手动计算系数(推荐,理解原理):
-
根据两点求斜率公式:
a = (ρ₈₀ - ρ₃₀) / (DN₈₀ - DN₃₀)a = (0.8 - 0.3) / (500 - 200) = 0.5 / 300 ≈ 0.001667 -
代入其中一个点求截距
b:b = ρ₃₀ - a × DN₃₀b = 0.3 - (0.001667 × 200) = 0.3 - 0.3334 ≈ -0.0334 -
结论: 红波段的定标系数为
a_red ≈ 0.001667,b_red ≈ -0.0334。
-
-
重复计算其他波段:
-
对蓝、绿、近红外波段,使用它们各自的DN均值数据,重复步骤2,计算出
a_blue, b_blue、a_green, b_green、a_nir, b_nir。 -
**记录结果:** 将最终得到的四个波段的a, b系数整理好。
-
| 波段 | a 系数 | b 系数 |
|---|---|---|
| 蓝 (Band 1) | (计算得出) | (计算得出) |
| 绿 (Band 2) | (计算得出) | (计算得出) |
| 红 (Band 3) | 0.001667 | -0.0334 |
| 近红外 (Band 4) | (计算得出) | (计算得出) |
第四步:全图辐射定标(应用系数计算反射率)
我们将使用ENVI的 Band Math 工具,为每个波段应用其专属的 a和 b系数。
-
打开Band Math工具:
-
在ENVI菜单栏,点击 Toolbox。
-
依次展开 Band Algebra -> Band Math。
-
-
构建并计算红波段的反射率:
-
在 Enter an expression 输入框中,输入以下公式(假设红波段是影像的第3个波段,在Band Math中用
b3表示):0.001667 * b3 - 0.0334 -
点击 Add to List ,然后点击 OK。
-
在弹出的 Variables to Bands Pairings 对话框中,将左侧的
b3与右侧影像列表中的 **波段3 (红波段)** 关联起来。 -
指定一个输出文件名和路径,例如
Reflectance_Red.tif,数据类型保持为 Float32。 -
点击 OK 开始计算。ENVI会生成一个只包含红波段反射率的单波段影像。
-
-
重复处理其他波段:
-
再次打开 Band Math。
-
为蓝波段 输入公式,例如
a_blue * b1 - 0.0334(假设蓝是b1,并使用您计算出的a_blue和b_blue值)。 -
重复变量关联和输出过程,生成
Reflectance_Blue.tif。 -
同样的方法,为绿波段(b2)和近红外波段(b4)生成
Reflectance_Green.tif和Reflectance_NIR.tif。
-
-
合并为多波段反射率影像:
-
现在您有了4个独立的单波段反射率文件。需要将它们合并回一个多波段文件。
-
在Toolbox中,展开 Raster Management -> Layer Stacking。
-
在弹出的对话框中,点击 Import File。
-
将刚才生成的4个单波段TIFF文件按顺序(蓝、绿、红、近红外)全部选中并加入。
-
检查波段顺序是否正确。
-
指定输出文件名,例如
Final_Reflectance_Image.dat或.tif。 -
点击 OK 执行合并。
-
恭喜!您现在已经得到了经过现场校准板定标后的、以地表反射率为单位的多光谱影像。
第五步:结果验证(重要!)
-
校准板验证:
-
在ENVI中打开最终合并的反射率影像。
-
使用 Pixel Locator 或 Profiles/Spectral 工具,在之前创建的校准板ROI位置点击一下。
-
查看读取到的反射率数值是否非常接近其已知的标称值(30%和80%)。如果误差在±0.05(即5%)以内,说明定标效果很好。
-
-
地物光谱验证:
-
在植被区域采样,检查其光谱曲线:红波段反射率应较低(~0.05-0.2),近红外波段反射率应显著升高(~0.3-0.7)。
-
在水体区域采样,所有波段的反射率都应非常低(通常<0.1)。
-
如果光谱特征符合常识,则证明您的定标流程和结果是可靠的。
-
总结与提醒:
-
**精度核心:** ROI的选取是重中之重,务必保证均匀、无阴影、无反光。
-
**波段对应:** 在整个过程中,要时刻清楚哪个数字代表哪个波段,避免混淆。
-
灵活性: 如果有3块或更多校准板,可以在Excel中使用线性回归功能来计算
a和b,并评估拟合的R²值,这样可以更好地验证线性关系和剔除异常值。