NDWI和MNDWI有何区别?城市水体该选谁?

GIS基础理论
Dr.GIS
wowwwai GIS研习社 · 工具流程与项目排障

NDWI和MNDWI有何区别?城市水体该选谁? 这是做遥感水体提取时很常见的问题,尤其是在城市区域:河道、湖泊、湿地旁边往往混着建筑物阴影、深色屋顶、道路和高反射裸地,直接套用一个水体指数很容易把非水体误判为水体。

本文以 GIS 和遥感制图中的实际工作流为主,说明 NDWI 与 MNDWI 的波段差异、适用场景、阈值选择方法,以及在城市水体提取中如何判断该选哪一个指数。

NDWI和MNDWI区别 城市水体提取对比示意图
NDWI 与 MNDWI 在城市水体提取中的典型差异:MNDWI 通常更能抑制建筑物和裸地干扰。

引言:NDWI和MNDWI不是简单的“谁更高级”

很多同学在 QGIS、ArcGIS Pro、Google Earth Engine 或 Python 中提取水体时,会先搜索“NDWI 水体提取”或“MNDWI 城市水体提取”。看公式时二者只差一个波段,但实际结果可能差很多。

NDWI 更早、更常见,适合快速增强水体信息;MNDWI 是对城市和建设用地场景更友好的改进版本。判断该用哪个,不能只看指数名称,而要看影像波段、研究区地物类型、阈值策略和精度验证方式。

一句话结论:如果研究区以自然湖泊、河流、湿地为主,NDWI 可以作为快速方案;如果研究区包含大量建筑物、道路、裸地和阴影,城市水体提取通常优先尝试 MNDWI。

背景:为什么城市水体提取容易出错

在遥感影像中,水体通常在可见光波段有一定反射,在近红外和短波红外波段反射较低。因此,水体指数会利用不同波段之间的反射差异,把水体从背景中突出出来。

但城市区域并不“干净”。下面这些地物经常干扰 NDWI 和 MNDWI 的判断:

  • 建筑物阴影:阴影整体亮度低,容易和深水体混淆。
  • 深色屋顶:部分屋顶在近红外或可见光上表现接近水体。
  • 沥青道路:灰暗道路在指数图上可能出现异常高值或接近阈值。
  • 裸地和施工区:反射特征复杂,容易在阈值分割时形成噪声斑块。
  • 窄河道与混合像元:当河道宽度接近影像分辨率时,一个像元内可能同时包含水体、岸线、植被和建筑物。

因此,“NDWI和MNDWI有何区别”这个问题,本质上是在问:哪个指数更能把真实水体与城市背景区分开。

原理:NDWI和MNDWI的公式与波段区别

NDWI 的基本原理

常用的 McFeeters NDWI 公式为:

NDWI = (Green - NIR) / (Green + NIR)

其中,Green 是绿光波段,NIR 是近红外波段。水体在绿光波段通常有一定反射,而在近红外波段吸收较强,因此水体的 NDWI 值往往较高。

以 Sentinel-2 为例,常见对应关系为:

  • Green:B3
  • NIR:B8

以 Landsat 8/9 OLI 为例,常见对应关系为:

  • Green:Band 3
  • NIR:Band 5

MNDWI 的基本原理

MNDWI 是 Modified Normalized Difference Water Index,即改进型归一化水体指数。常用公式为:

MNDWI = (Green - SWIR) / (Green + SWIR)

其中,SWIR 是短波红外波段。城市建筑物、裸地和部分道路在短波红外波段往往反射较强,而水体在短波红外波段反射很低。用 SWIR 替代 NIR 后,MNDWI 对城市建设用地的抑制效果通常更好。

以 Sentinel-2 为例,常见对应关系为:

  • Green:B3
  • SWIR:B11 或 B12,实际工作中常用 B11

以 Landsat 8/9 OLI 为例,常见对应关系为:

  • Green:Band 3
  • SWIR:Band 6 或 Band 7,实际工作中常用 Band 6

NDWI和MNDWI核心区别

对比项 NDWI MNDWI
公式 (Green – NIR) / (Green + NIR) (Green – SWIR) / (Green + SWIR)
关键差异 使用近红外波段 使用短波红外波段
对自然水体 通常表现较好 通常也表现较好
对城市建筑物 容易受到干扰 抑制效果通常更好
对阴影 可能误判 仍可能误判,但通常更容易结合规则处理
适用重点 快速水体增强、自然水体识别 城市水体提取、建设用地区域水体识别

步骤:城市水体该选谁,建议按这个流程判断

步骤1:先确认影像是否有 SWIR 波段

能不能使用 MNDWI,首先取决于影像是否有短波红外波段。Landsat 8/9、Sentinel-2 都支持 MNDWI;但部分高分辨率可见光影像或无人机 RGB 影像没有 SWIR,就无法直接计算标准 MNDWI。

  • 如果有 Green、NIR、SWIR:可以同时计算 NDWI 和 MNDWI 对比。
  • 如果只有 Green 和 NIR:可以计算 NDWI,但不能计算标准 MNDWI。
  • 如果只有 RGB:不要把 RGB 水体增强简单称为标准 NDWI 或 MNDWI。

步骤2:分别计算 NDWI 和 MNDWI

在 QGIS 中,可以使用“栅格计算器”计算指数。以 Sentinel-2 为例,如果已经完成波段对齐和裁剪,可以使用类似表达式:

NDWI = ("B3@1" - "B8@1") / ("B3@1" + "B8@1")
MNDWI = ("B3@1" - "B11@1") / ("B3@1" + "B11@1")

在 ArcGIS Pro 中,可以使用 Raster Calculator 或栅格函数完成同样计算。关键不是软件界面,而是确保波段名称、空间分辨率、坐标系和 NoData 处理正确。

步骤3:不要盲目使用固定阈值 0

很多教程会写“NDWI 大于 0 为水体”。这个规则可以作为初始参考,但不应该当作所有区域的固定标准。

城市水体提取时,建议这样做:

  1. 先查看 NDWI 或 MNDWI 指数图的直方图。
  2. 在已知水体、建筑物、阴影、道路、植被上采样查看指数值。
  3. 从 0 开始测试多个阈值,例如 -0.1、0、0.1、0.2。
  4. 叠加原始影像检查漏提和误提。
  5. 选择能平衡水体完整性与误判数量的阈值。

对于 MNDWI 城市水体提取,阈值仍然需要根据影像日期、传感器、季节、水体浑浊度和城市背景调整。

步骤4:用样本点或目视解译验证结果

只生成一张二值水体图并不够。至少要抽查以下位置:

  • 宽阔湖面和主河道是否被完整提取。
  • 窄河道是否断裂。
  • 建筑物阴影是否被误判为水体。
  • 深色屋顶和道路是否形成水体斑块。
  • 水边湿地、滩涂、藻华区域是否出现混淆。

如果结果用于正式项目,建议建立验证样本,计算混淆矩阵、总体精度、用户精度和生产者精度。对日常制图或课程作业,至少也要进行有代表性的人工抽查。

步骤5:必要时结合后处理

NDWI 和 MNDWI 都只是光谱指数,不是完整的水体提取系统。城市水体结果常常需要后处理:

  • 删除面积过小的孤立斑块。
  • 用矢量边界裁剪研究区外噪声。
  • 结合 DEM 排除山体阴影误判。
  • 结合土地利用数据排除已知建筑区误判。
  • 对河道断裂位置进行人工检查或形态学处理。

如果你的目标是制图表达,适度后处理是必要的;如果目标是科学分析,则必须记录阈值、数据源、处理流程和精度评价方法。

常见坑:NDWI和MNDWI结果不对,通常不是公式错

坑1:波段分辨率没有统一

Sentinel-2 的 B3 和 B8 是 10 米分辨率,而 B11 是 20 米分辨率。计算 MNDWI 前,如果软件没有自动正确重采样,就可能出现错位、边缘异常或结果模糊。

建议统一到目标分辨率,并明确使用最近邻、双线性或三次卷积等重采样方式。对于连续反射率影像,双线性通常更常见;对于分类结果,不能随意用双线性。

坑2:没有进行云、云影和雪的处理

云影很容易被误认为水体,雪和亮色屋顶也可能影响水体指数。做城市水体提取前,应尽量使用低云量影像,并结合质量波段或云掩膜去除明显云、云影和雪。

坑3:把 DN 值、反射率和不同产品混着算

如果使用的是原始 DN 值、表观反射率或地表反射率,指数数值可能存在差异。NDWI 和 MNDWI 的相对增强效果仍然存在,但不同产品之间的阈值不能直接照搬。

同一个项目中,尽量保持数据产品一致。例如统一使用 Landsat Collection 2 Level-2 地表反射率,或统一使用 Sentinel-2 L2A 地表反射率产品。

坑4:只看指数图,不看原始影像

指数图看起来“水体很明显”,不代表分类一定正确。城市中大量阴影、玻璃屋顶、湿地、桥梁下方区域都可能造成假象。

建议把水体结果叠加到真彩色影像、假彩色影像和底图上检查。特别是桥梁、码头、滨水建筑区,必须人工核对。

坑5:忽略季节和水位变化

同一条河在丰水期和枯水期的边界差异很大。水体浑浊、藻类覆盖、水草和滩涂也会影响 NDWI 与 MNDWI 的值。如果要做时间序列水体变化分析,阈值策略要保持可解释性,而不是每期随意调到“看起来最好”。

方法比较:NDWI、MNDWI和其他水体提取方法怎么选

方法 适合场景 主要优点 主要限制
NDWI 自然水体快速提取、湖泊河流增强 公式简单,对水体增强明显 城市建筑物和阴影干扰较明显
MNDWI 城市水体提取、建设用地背景下的河湖识别 对建筑物、裸地抑制通常更好 需要 SWIR 波段,受分辨率影响
AWEI 阴影较多、背景复杂区域 对阴影和非水体有进一步抑制设计 公式更复杂,阈值和传感器适配要谨慎
监督分类 有样本、有精度要求的项目 可结合多个波段和特征 需要训练样本,结果受样本质量影响
深度学习 高分辨率影像、复杂城市水系 可识别形态和上下文信息 需要大量标注数据和模型训练经验

如果只是做一次城市河湖提取,建议先用 MNDWI 作为基线方法,再根据误差类型加入后处理或辅助数据。如果是高精度项目,不建议只依赖单一指数,应考虑多特征分类或人工校核。

检查清单:城市水体提取前后必须确认这些点

  • 数据源:是否使用 Landsat、Sentinel-2 或其他包含所需波段的影像?
  • 波段选择:NDWI 是否使用 Green 和 NIR?MNDWI 是否使用 Green 和 SWIR?
  • 产品级别:是否统一使用地表反射率或同类产品?
  • 空间分辨率:不同波段是否已正确重采样和对齐?
  • 云影处理:是否排除了明显云、云影、雪和异常区域?
  • 阈值设置:是否根据研究区样本和直方图确定阈值,而不是机械使用 0?
  • 结果验证:是否检查了水体、阴影、道路、屋顶、裸地等典型位置?
  • 后处理:是否删除了明显小斑块和研究区外噪声?
  • 记录流程:是否记录了影像日期、公式、阈值和处理软件?

FAQ:NDWI和MNDWI常见问题

1. 城市水体提取一定要用 MNDWI 吗?

不一定,但通常建议优先尝试 MNDWI。因为城市区域建筑物、裸地和道路较多,MNDWI 使用 SWIR 波段后,对这些非水体的抑制往往比 NDWI 更好。如果影像没有 SWIR 波段,则只能使用 NDWI 或其他替代方法。

2. NDWI 大于 0 就一定是水体吗?

不是。NDWI 大于 0 是常见经验阈值,但城市阴影、湿地、部分暗色地物也可能接近或超过这个阈值。实际项目中应结合直方图、样本点和原始影像调整阈值。

3. MNDWI 大于 0 就一定比 NDWI 准吗?

也不是。MNDWI 在城市水体提取中通常更稳,但仍会受到云影、山影、混合像元、浑浊水体和波段分辨率的影响。是否更准,需要用目视检查或验证样本判断。

4. Sentinel-2 计算 MNDWI 应该用 B11 还是 B12?

实际工作中常用 B11,因为 B11 是短波红外波段,且在水体提取中应用较广。B12 也属于短波红外,但结果会有差异。建议在同一项目中保持一致,并通过样本验证选择更合适的波段。

5. 为什么 MNDWI 结果边界看起来比 NDWI 粗糙?

常见原因是 SWIR 波段分辨率较低。例如 Sentinel-2 的 B11 为 20 米,而 B3 为 10 米。计算 MNDWI 时需要重采样,水体边界可能没有 10 米波段那么锐利。窄河道提取时尤其要注意这一点。

6. NDWI 和 MNDWI 可以一起使用吗?

可以。一个实用做法是同时计算 NDWI 和 MNDWI,然后对比两者在水体、建筑阴影、道路和裸地上的表现。对于复杂区域,也可以把 NDWI、MNDWI、原始波段、DEM 或土地利用数据一起作为分类特征。

结论:城市水体优先试 MNDWI,但结果必须验证

NDWI和MNDWI有何区别,关键在于 NDWI 使用 Green 与 NIR,MNDWI 使用 Green 与 SWIR。这个波段差异决定了二者在城市水体提取中的表现差异:MNDWI 通常更能抑制建筑物、裸地和部分城市背景干扰,因此更适合城市河流、湖泊和水面提取。

但 MNDWI 不是万能答案。正确流程应该是:确认波段条件,计算指数,调整阈值,叠加原始影像检查,处理云影和小斑块,并用样本或人工解译验证结果。

如果你的研究区是城市建成区,建议把 MNDWI 作为首选基线;如果是自然湖泊、宽阔河道和湿地区域,NDWI 也可以作为快速有效的水体增强方法。真正可靠的水体提取,不是选一个公式结束,而是把指数、阈值、验证和后处理完整串起来。