数据预处理基础:辐射定标、大气校正、几何校正、图像裁剪与拼接

大家好,我是你们这堂课的主讲人。咱们直接进入正题——数据预处理。

很多人觉得预处理就是“体力活”,没什么技术含量。我刚开始做遥感那会儿也这么想,结果呢?第一次用没做大气校正的数据去反演地表温度,出来的结果简直离谱,跟实测差了十几度。嗯,从那以后我再也不敢小看这一步了。

说白了,卫星拿到的原始数据,就像没洗过的土豆。你想直接吃?不行。得先削皮、清洗、切块。预处理就是干这个的。

一、辐射定标:把“灰度值”变成“物理量”

卫星传感器记录的是啥?是数字量化值,也就是DN值。但我们要的是辐射亮度、反射率这些物理量。怎么办?做辐射定标。

公式其实很简单:

L = Gain × DN + Offset

其中Gain是增益,Offset是偏移量。这两个参数一般都在元数据文件里,比如Landsat的MTL文件。

我个人习惯,拿到数据第一件事就是打开元数据,看看定标参数有没有更新。有些卫星会定期更新定标系数,用旧的会出问题。

小技巧: 用Python做辐射定标时,建议用rasterio库,比GDAL更友好。代码大概长这样:
import rasterio
import numpy as np

with rasterio.open('B2.TIF') as src:
    dn = src.read(1).astype(np.float32)
    gain = 0.0001  # 从元数据读取
    offset = -0.01
    radiance = dn * gain + offset

这里要注意,DN值一般是整型,要转成浮点型再计算,不然精度会丢。

二、大气校正:把“模糊”变“清晰”

大气校正,说白了就是去掉大气对信号的干扰。太阳光穿过大气,被水汽、气溶胶散射吸收,传感器收到的信号已经“失真”了。

我做过一个项目,用MODIS数据监测湖泊水质。没做大气校正前,同一片湖不同时间的反射率曲线乱得没法看。做完6S模型校正后,曲线才稳定下来。

常用的方法有几种:

  • 相对校正: 用暗目标法,假设图像里最暗的像元反射率为0。简单,但精度一般。
  • 绝对校正: 用辐射传输模型,比如6S、MODTRAN。精度高,但需要大气参数。
  • 经验线法: 用地面的实测光谱来拟合。精度最高,但需要野外工作。

我个人建议,如果做定量分析,比如反演植被参数、地表温度,一定要做大气校正。如果只是做分类,有时候不做也行,但最好还是做一下。

避坑指南: 我曾经用FLAASH做大气校正,结果忘了设置气溶胶模型,出来的图像偏蓝得厉害。后来才发现,FLAASH默认是乡村气溶胶,我那个区域是工业区,得选城市模型。

三、几何校正:把“歪的”摆“正”

卫星影像因为传感器角度、地形起伏、地球曲率等原因,几何位置会有偏差。几何校正就是把这些偏差纠正过来。

几何校正分两种:

  1. 粗校正: 用卫星自带的轨道参数和姿态数据来校正。一般卫星数据都做过这一步,但精度不够。
  2. 精校正: 用地面控制点(GCP)来校正。精度高,但需要人工选点。

选控制点是个技术活。我一般选道路交叉口、建筑物角点这些特征明显、不易变化的地方。均匀分布,不要都挤在一个角落。

校正模型常用多项式模型:

# 一阶多项式校正
x' = a0 + a1*x + a2*y
y' = b0 + b1*x + b2*y

重采样方法我推荐用三次卷积,虽然慢一点,但图像质量好。最近邻法最快,但会有锯齿。

核心要点: 几何校正的精度,取决于控制点的质量和数量。一般要求RMS误差小于0.5个像元。

四、图像裁剪与拼接:只取你需要的

卫星影像通常很大,一景Landsat就有185公里宽。我们往往只关心研究区那一小块。裁剪就是干这个的。

裁剪有两种方式:

  • 按矢量边界裁剪: 用Shapefile或GeoJSON文件来裁剪。适合不规则区域。
  • 按矩形范围裁剪: 指定左上角和右下角坐标。适合规则区域。

拼接呢,就是把多景影像拼成一幅。比如你要做全国植被覆盖,得把几十景影像拼起来。

拼接时要注意:

  • 色调一致性: 不同影像的亮度、对比度可能不同,要做匀色处理。
  • 接缝处理: 用羽化或镶嵌线来消除接缝。
  • 重叠区处理: 取平均值、中值,或者用某种权重。

我做过一个项目,拼接了20多景高分影像。最头疼的就是色调不一致,有的偏亮有的偏暗。后来用直方图匹配,把每景影像的直方图匹配到参考影像上,效果才好。

实用工具: GDAL的gdal_merge.py可以快速拼接,gdalwarp可以裁剪。Python里用rasterio的merge函数也很方便。

知识体系总览

下面这张图,是我自己画的预处理流程。你跟着这个顺序走,基本不会出错。

卫星影像预处理流程 原始DN值影像 辐射定标 大气校正 几何校正 图像裁剪 图像拼接 注:裁剪和拼接可根据需求选择其一或都做

你看,整个流程是线性的。从原始DN值开始,先做辐射定标,再做大气校正,然后几何校正,最后根据需求裁剪或拼接。每一步都依赖上一步的结果,顺序不能乱。

好了,这一章的内容就到这里。数据预处理是遥感分析的地基,地基不稳,后面建什么都是白搭。希望你们能把这些步骤练熟,后面做分析才能得心应手。

专注资料整理