第11期:实战| ArcGIS Pro 遥感影像预处理

💡 前提准备(必看)

✅ 已安装:ArcGIS Pro + Spatial Analyst/Image Analyst 扩展模块(缺一不可)

✅ 已准备:Sentinel-2 L1C/Landsat-8 原始影像(DN值格式)、研究区矢量边界、DEM(可选,用于地形校正)

✅ 核心目标:3步搞定校正,输出可直接用于AI建模的标准化影像

一、辐射定标(DN值→物理辐亮度)🌞

📌 核心目的:消除传感器本身误差,把无意义的灰度值,转换成可比对、可分析的物理量

1️⃣ 加载影像

打开ArcGIS Pro → 新建地图 → 点击【添加数据】→ 选中Sentinel-2/Landsat-8原始影像(.jp2或.tif格式)

2️⃣ 打开辐射定标工具

顶部菜单栏 → 【地理处理】→ 搜索"辐射定标" → 打开【Radiometric Calibration】工具

3️⃣ 关键参数设置(直接照搬)

• 输入栅格:选择刚刚加载的原始影像

• 定标类型:默认选择【辐射亮度(Radiance)】

• 输出栅格:自定义保存路径(建议命名:radiance.tif,方便后续查找)

• 传感器类型:软件自动识别(Sentinel-2/Landsat-8无需手动调整)

4️⃣ 运行工具

点击面板底部【运行】,等待1-5分钟(根据影像大小),生成辐射定标后的影像

二、大气校正(消除大气干扰)🌫️

📌 核心目的:剔除空气中水汽、气溶胶、光照散射的影响,还原地物真实的地表反射率(做地物分类、植被反演必做!)

1️⃣ 打开大气校正工具

方法1(通用):【地理处理】→ 搜索"大气校正" → 打开【Atmospheric Correction】工具

方法2(Sentinel-2专属,更快捷):搜索"应用Sentinel-2大气校正" → 直接打开专用工具链

2️⃣ 通用参数设置(照搬即可)

• 输入栅格:选择【辐射定标后】的影像(第一步生成的radiance.tif)

• 大气模型:默认【中纬度夏季(Mid-Latitude Summer)】(北方冬季可改为中纬度冬季)

• 气溶胶模型:默认【乡村(Rural)】(城市区域可改为城市)

• 输出栅格:自定义路径(命名:reflectance.tif)

3️⃣ 运行工具

点击【运行】,等待3-10分钟,生成地表反射率影像(校正后植被更绿、水体更暗,肉眼可见差异)

三、几何校正(纠正坐标偏移)📍

📌 核心目的:修正卫星成像姿态、地形起伏带来的几何畸变,确保影像与GIS矢量边界、路网精准匹配

👉 推荐方法:自动配准(Sentinel-2/Landsat-8原始影像已做粗校正,自动配准足够满足日常项目)

1️⃣ 加载基准数据

点击【添加数据】→ 加载高精度底图(如天地图)或研究区矢量边界(WGS84坐标系)

2️⃣ 打开自动配准工具

【地理处理】→ 搜索"自动影像配准" → 打开【Auto Register】工具

3️⃣ 参数设置

• 输入栅格:选择【大气校正后】的影像(第二步生成的reflectance.tif)

• 参考栅格/矢量:选择刚刚加载的基准底图或研究区矢量

• 输出栅格:自定义路径(命名:geocorrected.tif)

4️⃣ 运行与验证

点击【运行】,完成后将校正后的影像与矢量边界叠加,检查无明显偏移(误差通常<1个像素)

💡 补充:高精度需求(如科研、精准监测)

打开【添加控制点】工具,在影像与基准图上,均匀选择6-10个控制点(道路交叉、河流拐点最佳),手动配准后再校正

四、可选步骤:影像裁剪+增强 ✂️

(按需操作,提升建模效率和效果)

1️⃣ 影像裁剪(按研究区边界)

• 工具:【地理处理】→ 搜索"裁剪" → 打开【Clip】工具

• 参数:输入栅格(几何校正后影像)、裁剪要素(研究区矢量)、自定义输出路径

2️⃣ 影像增强(提升可视化/模型辨识度)

• 直方图均衡化:选中影像 → 【影像】→ 【增强】→ 【直方图均衡化】

• 对比度拉伸:右键影像 → 【图层属性】→ 【符号系统】→ 【拉伸】→ 【标准差拉伸(2σ)】

五、关键验证+避坑指南 ❌

✅ 验证要点(必做,避免后续建模翻车)

  1. 辐射定标:像元值范围符合规范(Sentinel-2:0--10000)

  2. 大气校正:植被近红外反射率高、红光反射率低(符合物理常识)

  3. 几何校正:影像与矢量边界无明显偏移

  4. 裁剪:影像范围与研究区完全一致

❌ 常见坑+解决方案

  1. 辐射定标失败 → 检查影像元数据,重新下载L1C级原始影像

  2. 大气校正后影像发黑 → 调整大气模型/气溶胶模型,优先用Sentinel-2专用工具链

  3. 几何校正偏移大 → 手动补充高辨识度控制点,避开水体、大面积植被等无特征区域

💬 小提示:所有步骤完成后,保存ArcGIS项目,后续可直接调用预处理后的影像,无缝对接Python批量处理和AI模型训练~

六、数据集标准化处理(可选)

1️⃣ 波段合成

组合 RGB 真彩色、近红外假彩色波段,适配不同识别场景

2️⃣ Python 批量波段合成实战代码(可直接运行)

无需手动拼接单波段影像,GDAL 一键批量合成 Sentinel-2 标准 RGB 影像,新手改路径即用,全代码详细注释。

python 复制代码
# 导入必备库(GDAL用于读取遥感影像,numpy用于数据处理)
from osgeo import gdal
import numpy as np
import os

def batch_merge_bands(input_dir, output_path, target_bands=[2,3,4]):
    """
    批量读取遥感影像,合成指定波段(Sentinel-2:2蓝、3绿、4红)
    input_dir: 原始单波段影像存放文件夹
    output_path: 合成后多波段TIFF保存路径
    target_bands: 需要合成的波段序号
    """
    # 筛选文件夹内所有tif单波段影像
    tif_files = [f for f in os.listdir(input_dir) if f.endswith('.tif')]
    tif_files.sort()
    # 获取影像行列尺寸与空间信息
    ds = gdal.Open(os.path.join(input_dir, tif_files[0]))
    width = ds.RasterXSize
    height = ds.RasterYSize
    band_num = len(target_bands)
    # 初始化空数组存储多波段数据
    merge_data = np.zeros((height, width, band_num), dtype=np.float32)

    # 循环读取指定波段数据
    for i, band_id in enumerate(target_bands):
        band_file = [f for f in tif_files if f.endswith(f'B{band_id}.tif')][0]
        band_ds = gdal.Open(os.path.join(input_dir, band_file))
        merge_data[:, :, i] = band_ds.ReadAsArray()
        band_ds = None

    # 创建新多波段栅格文件
    driver = gdal.GetDriverByName('GTiff')
    out_ds = driver.Create(output_path, width, height, band_num, gdal.GDT_Float32)
    # 保留原始投影与地理坐标
    out_ds.SetGeoTransform(ds.GetGeoTransform())
    out_ds.SetProjection(ds.GetProjection())
    # 写入波段数据
    for n in range(band_num):
        out_band = out_ds.GetRasterBand(n+1)
        out_band.WriteArray(merge_data[:, :, n])
        out_band.FlushCache()
    # 释放内存资源
    ds = None
    out_ds = None
    print(f"✅ 遥感波段合成完成!保存路径:{output_path}")

# 主函数调用,修改路径直接运行
if __name__ == "__main__":
    # 填写自己本地影像文件夹路径
    raw_tif_path = r"E:\Sentinel2\raw_data"
    save_tif_path = r"E:\Sentinel2\merged\S2_RGB_merge.tif"
    # 合成2、3、4标准真彩色波段
    batch_merge_bands(raw_tif_path, save_tif_path, target_bands=[2,3,4])

代码使用说明 提前安装依赖:pip install gdal numpy 仅修改文件输入、输出路径即可

可自由替换合成近红外、红边等任意组合波段 批量处理千张遥感影像无压力,彻底告别手动操作

3️⃣ 数据集划分

统一行业通用比例:训练集 7 : 测试集 3,按区域随机划分,避免时序 / 区域数据泄露

七、学习总结

  1. 遥感建模第一步永远是优质数据源 + 严格筛选,低质量影像直接放弃
  2. 辐射定标、大气校正、几何校正是 GIS 遥感核心门槛,必须熟练掌握
  3. ArcGIS 做精细化预处理,Python 做批量自动化处理,效率翻倍
  4. 标准化预处理后的数据集,可直接无缝对接 YOLOv8、语义分割、积水识别、地物分类等所有 AI 遥感模型
相关推荐
Tutankaaa1 小时前
交通安全知识竞赛:文明出行,安全相伴
大数据·人工智能·安全
knight_9___1 小时前
大模型project面试2
人工智能
龙侠九重天1 小时前
大型语言模型结构化输出:用 JSON Schema 约束大模型输出
人工智能·语言模型·自然语言处理·大模型·json
China_Yanhy1 小时前
【云原生 AI 实战】EKS 搭建 GPU 超算集群:从零拉起节点到 PyTorchJob 分布式训练 (附 EFA 加速避坑指南)
人工智能·分布式·云原生
人工智能培训1 小时前
知识图谱与检索增强的实战结合
人工智能·深度学习·神经网络·机器学习·生成对抗网络
沪漂阿龙1 小时前
面试题:大模型基础详解——什么是大模型、核心特点、生成式大模型、自回归训练目标、参数单位、缺点与 Transformer 原理全解析
人工智能·数据挖掘·回归·transformer
星座5281 小时前
驾驭AI 2.0时代:Transformer、扩散模型与物理信息神经网络核心技术解析
人工智能·深度学习·神经网络·transformer·强化学习·目标检测算法
七夜zippoe1 小时前
企业大屏升级AI智能体:魔珐星云+DeepSeek打造BI数据讲解数字人
人工智能·数字人·bi·deepseek·魔珐星云