地理数据

裁剪后影像黑色背景与黑边治理:Data Ignore Value、掩膜构建及像元状态机分析框架

👤 为我痴狂 👁 2 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-09-27
首页› 遥感› 地理数据› 正文
裁剪后影像黑色背景与黑边治理:Data Ignore Value、掩膜构建及像元状态机分析框架
裁剪后影像黑色背景与黑边治理
Data Ignore Value、掩膜构建及像元状态机分析框架

从无效值溯源到工程化处理,构建一套可复用的遥感影像背景治理技术路径

摘要

遥感影像在空间裁剪、投影变换、波段合成与镶嵌处理中,频繁出现黑色背景与黑边现象。其本质并非简单的“颜色问题”,而是无效像元(Nodata)在数据链路中的状态迁移与表达失配问题。本文提出“像元状态机”分析主线,将像元在有效值、Nodata标记、零值、填充值之间的转换过程抽象为状态迁移模型,系统梳理Data Ignore Value与掩膜(Mask)的底层机制、参数配置方法及工程实践中的常见陷阱。结合GDAL、QGIS、ArcGIS、Python(Rasterio/NumPy)等工具,给出从单波段到多波段、从本地处理到云原生批处理的完整操作路径。文中所有代码示例均基于实际可运行逻辑编写,数据来源与文献引用已标注。本文评述穿插于各章节,旨在厘清技术细节背后的设计逻辑与适用边界。

一、问题现象与工程背景:黑边从何而来

在遥感影像处理流程中,裁剪(Clip/Subset)是最基础也最容易引入视觉异常的操作之一。用户在ENVI、QGIS、ArcGIS或Python环境中对一幅GeoTIFF执行按矢量边界裁剪后,常常发现输出影像四周出现纯黑色区域,或者在影像内部出现不规则黑色斑块。这些黑色区域在GIS软件中可能显示为RGB(0,0,0),在数值上则可能对应0值、Nodata标记值或某个未被正确识别的填充值。

从数据链路角度看,黑边问题的产生并非单一环节所致。笔者将其归纳为四类典型来源:第一类是裁剪范围与影像有效范围不一致,当矢量边界超出原始影像覆盖范围时,输出栅格中超出部分的像元需要被赋予某个“空值”,若该空值未被明确定义为Nodata,则可能被默认填充为0,进而在显示时呈现黑色。第二类是原始影像本身携带的无效区域,例如卫星影像产品中的无效填充带(如Landsat Collection 2 Level-1产品中的边缘填充)、Sentinel-2 L1C产品中的黑色填充条带,这些区域在裁剪后依然保留其原始数值特征。第三类是波段合成或重采样过程中的数值污染,当重采样算法(如双线性插值)在有效像元与无效像元边界处计算时,会将无效值参与插值运算,导致边界处产生介于有效值与无效值之间的“灰色过渡带”。第四类是显示层面的拉伸问题,即使数据中Nodata已被正确定义,若软件渲染时未启用Nodata透明显示,黑色背景依然会出现在视图中。

本文评述:黑边问题的本质是像元有效性的语义表达在工具链传递中发生了断裂。许多工程师习惯将“黑色”等同于“Nodata”,但二者在数据层面是完全不同的概念。黑色是一种颜色呈现,Nodata是一种元数据标记。混淆二者会导致一系列隐蔽的错误,例如将影像中真实的黑色地物(如阴影、深色水体、玄武岩)误判为无效像元,或者将真正的无效像元当作有效零值参与统计计算。

黑边问题四类来源速查表

来源类型 典型场景 数值特征 处理优先级
裁剪范围超出影像覆盖矢量边界大于影像范围通常为0或未定义值高
原始产品无效填充卫星标准产品边缘填充产品文档规定的填充值高
重采样边界污染双线性/三次卷积插值有效值与无效值之间的过渡值中
显示拉伸未启用透明GIS软件渲染设置Nodata值被当作有效值渲染低(仅视觉)

二、像元状态机:一个统一分析框架

为了系统化地理解黑边问题,本文提出“像元状态机”(Pixel State Machine, PSM)分析框架。该框架将遥感影像中的每一个像元视为一个具有离散状态的实体,其状态在数据处理的各个阶段发生迁移。状态集合包括:有效值(Valid)、Nodata标记(Nodata)、零值(Zero)、填充值(Fill Value)、过渡值(Transitional)五种基本状态。

状态迁移的触发条件包括:裁剪操作、重采样操作、波段运算、格式转换、投影变换等。以裁剪为例,当矢量边界切割原始影像时,边界内部的像元保持原有状态,边界外部的像元则从“有效值”迁移至“填充值”或“Nodata标记”状态。如果输出格式不支持Nodata元数据(如某些旧版JPEG或BMP格式),则Nodata状态会被强制迁移至“零值”状态,此时黑边便以数值0的形式固化在数据中。

像元状态机核心状态定义

  • 有效值(Valid):像元数值代表真实地表反射率、辐射亮度或分类类别,参与统计与分析。
  • Nodata标记(Nodata):像元在元数据层面被标记为无效,数值本身可能为任意值,但语义上不参与计算。
  • 零值(Zero):像元数值为0,但语义上可能是有效值(如水体在近红外波段的反射率接近0),也可能是未被正确标记的无效值。
  • 填充值(Fill Value):数据生产者或处理工具使用的特定数值(如-9999、-32768、255),用于填充无效区域,但可能未写入Nodata元数据。
  • 过渡值(Transitional):重采样过程中产生的介于有效值与无效值之间的数值,属于“污染像元”。

本文评述:像元状态机的价值在于将黑边问题从“视觉修复”提升为“状态一致性管理”。传统思路是“看到黑边就设Nodata”,但如果不理解像元在数据链路中的状态迁移路径,很容易在后续处理中再次引入无效值。例如,将Nodata设为0后,若后续执行归一化差值计算(如NDVI),0值会被当作有效反射率参与运算,导致结果中水体区域出现异常值。状态机框架要求工程师在每个处理节点明确回答三个问题:当前像元处于什么状态?该状态在下一步操作中会被如何解释?是否需要显式迁移状态?

三、Data Ignore Value 机制深度解析

Data Ignore Value(数据忽略值)是遥感与GIS软件中广泛使用的概念,其核心功能是告诉软件“某个数值在语义上不代表真实观测值,应在显示、统计和部分处理中忽略”。在ENVI中,Data Ignore Value通常默认设置为0或某个特定值;在ArcGIS中,类似功能通过Raster Properties中的NoData Value实现;在GDAL中,通过Nodata元数据标签(GDAL_NODATA)承载。

需要特别澄清的是,Data Ignore Value与NoData Value在严格意义上存在细微差别。Data Ignore Value更偏向于“软件行为层面的忽略”,即告诉软件在渲染和统计时跳过该值;而NoData Value更偏向于“数据语义层面的标记”,即该值在数据产品定义中就不代表有效观测。但在实际工程中,二者经常被混用,多数软件将其视为等价概念处理。本文评述:这种混用在单工具流程中通常不会出问题,但跨工具协作时(如ENVI处理后在QGIS中打开),如果Data Ignore Value未被写入标准Nodata元数据,QGIS可能无法识别,导致黑色背景重新出现。

3.1 GDAL中的Nodata机制

GDAL是开源遥感数据处理的事实标准底层库。在GDAL中,Nodata值通过栅格波段的元数据项GDAL_NODATA存储。一个关键细节是:GDAL的Nodata标记是按波段独立设置的,这意味着多波段影像中不同波段可以有不同的Nodata值。这一设计在理论上合理,但在实践中容易引发问题——如果波段1的Nodata设为-9999,波段2的Nodata设为0,那么在进行波段合成时,不同波段的无效区域可能不对齐,导致合成后的影像出现彩色边缘伪影。

GDAL提供了多个命令行工具用于管理Nodata。例如,gdal_translate -a_nodata <value>可以为输出影像设置Nodata值,gdalwarp -dstnodata <value>可以在重投影和裁剪过程中指定输出Nodata值。需要注意的是,-a_nodata仅修改元数据,不改变像元数值本身;而-dstnodata会在重采样过程中将无效区域填充为指定值。

3.2 常见Data Ignore Value设置策略

数据类型 推荐Nodata值 理由 注意事项
8-bit无符号整型(Byte)0或255取值范围有限,0和255是边界值若真实数据含0或255,需谨慎
16-bit有符号整型(Int16)-9999或-32768远离常见有效值范围-32768是最小值,部分软件处理异常
16-bit无符号整型(UInt16)65535或065535是最大值,通常不用于有效数据部分传感器产品使用65535作为饱和标记
32-bit浮点型(Float32)NaN或-9999.0NaN是IEEE标准,语义清晰部分软件对NaN支持不完善

本文评述:Nodata值的选择并非随意。一个良好的Nodata值应满足三个条件:远离有效数据分布范围、在目标数据类型中合法、在主流工具链中兼容。笔者在工程实践中多次遇到因Nodata值选择不当导致的隐蔽错误:例如将Float32影像的Nodata设为-9999.0,但该影像中恰好存在-9999.0的真实观测值(某些传感器在极端低温下的辐射定标结果),导致这些有效像元被软件静默忽略。

四、掩膜构建:从二值掩膜到多级掩膜体系

掩膜(Mask)是解决黑边问题的核心工具。在最基础的层面上,掩膜是一个二值栅格,其中1表示有效像元,0表示无效像元。但在实际工程中,掩膜体系远比二值掩膜复杂。本文提出多级掩膜体系的概念,将掩膜分为三个层级:数据有效性掩膜(Validity Mask)、质量控制掩膜(QA Mask)和分析范围掩膜(Analysis Mask)。

数据有效性掩膜回答“这个像元是否有观测值”的问题,直接对应Nodata标记。质量控制掩膜回答“这个像元的观测值是否可信”的问题,例如Landsat的QA波段中标记的云、阴影、冰雪等。分析范围掩膜回答“这个像元是否在本次分析范围内”的问题,例如研究区边界、植被覆盖区等。三个层级叠加后形成最终的像元筛选条件。

4.1 从Nodata生成二值掩膜

在Python的Rasterio库中,读取影像后可以通过dataset.nodata获取Nodata值,然后使用NumPy生成掩膜。以下是一个基础示例:

import rasterio
import numpy as np

with rasterio.open('input.tif') as src:
    data = src.read(1)
    nodata = src.nodata
    if nodata is not None:
        mask = data != nodata
    else:
        mask = np.ones_like(data, dtype=bool)
    # 将掩膜写为GeoTIFF
    profile = src.profile
    profile.update(dtype=rasterio.uint8, count=1, nodata=0)
    with rasterio.open('mask.tif', 'w', **profile) as dst:
        dst.write(mask.astype(rasterio.uint8), 1)

本文评述:上述代码逻辑简单直接,但存在一个隐蔽问题——当Nodata值为NaN时,data != nodata的比较结果恒为True,因为NaN与任何值的比较都返回False。因此,处理浮点型影像时需要额外判断:

if nodata is not None:
    if np.isnan(nodata):
        mask = ~np.isnan(data)
    else:
        mask = data != nodata

4.2 基于QA波段构建质量控制掩膜

对于Landsat Collection 2产品,QA_PIXEL波段以位编码方式存储了云、云影、雪、水等信息。构建质量控制掩膜需要理解位运算。以Landsat 8/9 Collection 2 Level-2产品为例,QA_PIXEL波段的Bit 3为云标记,Bit 4为云影标记,Bit 5为雪标记。构建“无云无影”掩膜的代码如下:

qa = src_qa.read(1)
cloud_mask = (qa & (1 << 3)) == 0
shadow_mask = (qa & (1 << 4)) == 0
snow_mask = (qa & (1 << 5)) == 0
valid_mask = cloud_mask & shadow_mask & snow_mask

本文评述:QA波段是官方提供的质量控制数据,但其编码规则随产品版本变化。笔者建议在工程中将QA波段解码逻辑封装为独立函数并添加版本判断,避免因产品升级导致位定义变化而引入静默错误。此外,QA波段本身也可能存在Nodata区域,需要先应用数据有效性掩膜再应用QA掩膜。

五、工具链实操:GDAL / QGIS / ArcGIS / Python

不同工具对Nodata和掩膜的处理方式存在差异,理解这些差异是跨工具协作的关键。本节以“裁剪后黑边治理”为目标,给出各工具的具体操作路径。

5.1 GDAL命令行方案

GDAL的gdalwarp工具是裁剪与重投影的主力。处理黑边问题的标准命令如下:

gdalwarp -cutline boundary.shp -crop_to_cutline \
  -dstnodata -9999 -dstalpha \
  input.tif output.tif

其中-dstnodata指定输出Nodata值,-dstalpha创建Alpha波段,将无效区域标记为透明。本文评述:-dstalpha是一个经常被忽视但非常实用的选项。Alpha波段提供了一种独立于Nodata元数据的无效像元表达方式,在跨软件协作时兼容性更好。但代价是文件体积增加约25%(对于RGBA四波段影像)。

5.2 QGIS可视化操作

在QGIS中,裁剪后黑边的处理分为两个层面。显示层面:在图层属性的“透明度”选项卡中,可以设置“无数据值”的显示方式,勾选后将Nodata像元渲染为透明。数据层面:使用“栅格”菜单下的“转换”工具,在输出设置中指定Nodata值。QGIS 3.x版本底层调用GDAL,因此参数含义与GDAL一致。

一个常见的QGIS操作陷阱是:用户在“另存为”对话框中勾选了“创建VRT”,但VRT格式对Nodata的支持依赖于底层数据源的元数据。如果底层数据源没有正确的Nodata标记,VRT中设置的Nodata可能不会被下游工具识别。本文评述:QGIS的易用性掩盖了底层GDAL的复杂性,建议在处理关键数据时优先输出为GeoTIFF格式,并在输出后使用gdalinfo验证Nodata元数据是否正确写入。

5.3 ArcGIS/ArcGIS Pro方案

ArcGIS中的“复制栅格”(Copy Raster)工具是设置Nodata值的核心工具。在工具参数中,“忽略值”字段用于指定Data Ignore Value,“NoData值”字段用于指定输出Nodata值。二者可以不同——例如将输入中的-9999(Ignore Value)转换为输出中的-32768(NoData Value)。

ArcGIS Pro引入了“栅格函数”(Raster Function)机制,可以在不创建物理文件的情况下动态应用掩膜。其中“掩膜函数”(Mask Function)支持基于Nodata值、基于范围、基于QA波段等多种掩膜方式。本文评述:ArcGIS的栅格函数链在交互式分析中效率很高,但函数链的复杂性也增加了出错概率。建议在最终输出前将函数链固化为物理文件,确保结果可复现。

5.4 Python(Rasterio + NumPy)方案

Python方案提供了最大的灵活性,适合批量处理和复杂逻辑。以下是一个完整的“裁剪+Nodata设置+掩膜输出”流程:

import rasterio
from rasterio.mask import mask
import geopandas as gpd
import numpy as np

# 读取矢量边界
gdf = gpd.read_file('boundary.shp')
geoms = gdf.geometry.values

# 裁剪并设置Nodata
with rasterio.open('input.tif') as src:
    out_image, out_transform = mask(src, geoms, crop=True, nodata=-9999)
    out_meta = src.meta.copy()
    out_meta.update({
        'height': out_image.shape[1],
        'width': out_image.shape[2],
        'transform': out_transform,
        'nodata': -9999
    })
    # 生成有效性掩膜
    valid_mask = out_image[0] != -9999
    # 写入裁剪结果
    with rasterio.open('output.tif', 'w', **out_meta) as dst:
        dst.write(out_image)
    # 写入掩膜
    mask_meta = out_meta.copy()
    mask_meta.update(dtype=rasterio.uint8, count=1, nodata=0)
    with rasterio.open('output_mask.tif', 'w', **mask_meta) as dst:
        dst.write(valid_mask.astype(rasterio.uint8), 1)

本文评述:Rasterio的mask函数在裁剪时自动处理Nodata填充,但需要注意的是,nodata参数仅在裁剪范围超出原始影像范围时生效。如果原始影像内部已经存在无效区域,这些区域的值不会被自动替换为指定的Nodata值,需要额外处理。

六、多波段影像与复杂场景处理

多波段影像的黑边处理比单波段复杂得多。核心难点在于:不同波段的无效区域可能不完全重合,导致波段合成后出现彩色边缘伪影。这种伪影在视觉上比纯黑边更隐蔽,但危害更大——它可能在后续分类或指数计算中引入系统性偏差。

6.1 波段间无效区域对齐

解决波段间无效区域不对齐的方法是对所有波段应用统一的掩膜。具体操作是:先计算所有波段的“并集掩膜”(即任一波段无效则该像元整体无效),然后将该掩膜应用到所有波段。以下代码展示了这一逻辑:

with rasterio.open('multiband.tif') as src:
    data = src.read()
    nodata = src.nodata
    # 计算并集掩膜
    if nodata is not None:
        union_mask = np.all(data != nodata, axis=0)
    else:
        union_mask = np.ones(data.shape[1:], dtype=bool)
    # 应用掩膜
    data_masked = np.where(union_mask, data, nodata)

本文评述:并集掩膜策略牺牲了部分有效像元(即某些波段有效但其他波段无效的像元),但换取了波段间的一致性。在大多数遥感分析中,这种取舍是合理的。然而,对于某些特定应用(如单波段反演),可以考虑使用交集掩膜保留更多有效像元,但需要在下游分析中明确处理波段间不一致的问题。

6.2 重采样边界污染的处理

当使用双线性或三次卷积重采样时,有效像元与无效像元边界处会产生过渡值。这些过渡值在数值上可能看起来“合理”(例如反射率从0.3平滑过渡到0),但语义上它们是无效的。处理这一问题的方法是在重采样前先对原始影像应用掩膜,将无效区域填充为Nodata值,然后使用gdalwarp的-r near(最近邻)重采样,或者使用更高级的“掩膜感知重采样”方法。

GDAL从3.x版本开始支持-wo SAMPLE_GRID=YES等高级重采样选项,但掩膜感知重采样仍然是一个活跃的研究方向。本文评述:在实际工程中,优先使用最近邻重采样处理含无效区域的影像,虽然会牺牲一定的空间精度,但能避免过渡值污染。如果必须使用双线性重采样,则应在重采样后使用阈值法或梯度法检测并清除过渡值。

七、工程化批处理与云原生实践

在实际生产环境中,黑边治理往往需要批量处理数百甚至数千景影像。手动操作不现实,必须建立自动化流水线。本节讨论批处理架构和云原生环境下的特殊考虑。

7.1 本地批处理流水线

一个典型的本地批处理流水线包含以下步骤:遍历输入目录 → 读取每景影像的元数据 → 判断Nodata状态 → 应用裁剪和Nodata设置 → 生成掩膜 → 输出结果和日志。使用Python的concurrent.futures或multiprocessing模块可以实现并行处理。

本文评述:批处理流水线的设计应遵循“失败隔离”原则——单景影像处理失败不应中断整个流水线。建议使用try-except包裹每个影像的处理逻辑,将错误信息写入日志文件,并在流水线结束后生成处理报告。此外,批处理前应对输入数据执行“预检”,检查Nodata元数据的一致性,避免在流水线中途才发现格式问题。

7.2 云原生环境下的黑边处理

随着遥感数据向云端迁移,黑边处理也在向云原生架构演进。Google Earth Engine(GEE)提供了updateMask函数用于掩膜处理,unmask函数用于将掩膜区域恢复为指定值。AWS的Sentinel-2公共数据集通过STAC元数据中的nodata字段传递无效值信息。

在云原生环境中,一个关键变化是数据格式从GeoTIFF向Cloud Optimized GeoTIFF(COG)的迁移。COG格式支持内部瓦片和概览,但Nodata元数据的处理与普通GeoTIFF略有差异。COG的Nodata值存储在IFD(Image File Directory)中,在HTTP范围读取时可能无法立即获取。本文评述:云原生环境下的黑边处理需要将Nodata信息前置到STAC元数据或数据清单中,避免在读取影像数据后才获取Nodata值,从而减少不必要的网络请求。

八、常见陷阱与诊断方法

黑边治理中的错误往往不是技术难度导致的,而是对细节的忽视。本节总结笔者在工程实践中遇到的高频陷阱,并给出诊断方法。

高频陷阱清单

  • 陷阱1:Nodata值与真实数据值冲突。将Nodata设为0,但影像中真实存在0值像元(如水体在近红外波段)。诊断方法:统计影像中Nodata值的出现频率和空间分布,判断是否与已知地物分布吻合。
  • 陷阱2:格式转换丢失Nodata元数据。将GeoTIFF转换为JPEG或PNG时,Nodata标记丢失。诊断方法:转换后使用gdalinfo检查Nodata元数据是否存在。
  • 陷阱3:多波段Nodata不一致。不同波段的Nodata值设置不同,导致波段合成后出现彩色伪影。诊断方法:逐波段检查Nodata元数据,确认一致性。
  • 陷阱4:NaN处理不当。浮点型影像中NaN作为Nodata,但部分工具对NaN支持不完善。诊断方法:使用np.isnan检查NaN分布,确认工具链对NaN的兼容性。
  • 陷阱5:重采样引入过渡值。双线性重采样在边界处产生过渡值。诊断方法:对比重采样前后的像元值分布,检查是否存在异常平滑的边界过渡。

本文评述:这些陷阱的共同根源是对像元状态迁移缺乏显式管理。像元状态机框架的价值正在于此——它迫使工程师在每个处理步骤中明确回答“像元现在处于什么状态”和“这个操作会如何改变状态”。

九、前沿展望:从规则驱动到学习驱动的背景治理

传统的黑边治理依赖规则驱动的方法:设定Nodata值、构建掩膜、应用重采样策略。这些方法在大多数场景下有效,但在复杂场景中面临挑战。例如,当无效区域与有效地物在光谱特征上相似时(如深色阴影与黑色填充带),基于阈值的规则方法难以区分。

近年来,深度学习在遥感影像处理中的应用为背景治理提供了新思路。语义分割网络(如U-Net及其变体)可以学习有效区域与无效区域的复杂边界特征,在云检测、阴影检测等任务中已展现出优于规则方法的性能。将类似思路应用于黑边检测,可以构建“无效像元检测网络”,自动识别影像中的填充区域、过渡带和异常值。

另一个值得关注的方向是自描述数据格式的发展。传统的Nodata元数据是“被动”的——它只是告诉软件某个值无效,但不解释为什么无效。未来的数据格式可能携带更丰富的像元状态信息,例如区分“传感器未观测”“云遮挡”“算法失败”等不同无效原因。这种“主动”的像元状态表达将从根本上改变背景治理的方式。

本文评述:学习驱动的方法虽然前景广阔,但在工程落地中仍面临训练数据获取困难和泛化能力不足的问题。不同传感器、不同产品的无效区域特征差异很大,单一模型难以覆盖所有场景。笔者认为,短期内规则驱动与学习驱动将并存:规则方法处理标准场景,学习模型处理复杂异常场景,二者通过像元状态机框架统一调度。

十、结论与操作清单

裁剪后影像的黑色背景与黑边问题,表面上是视觉瑕疵,实质上是像元有效性语义在数据链路中的表达失配。本文提出的像元状态机框架将这一问题抽象为状态迁移管理问题,为工程实践提供了统一的分析视角。Data Ignore Value与掩膜构建是治理黑边的两大核心工具,但二者必须配合使用:Data Ignore Value定义“什么是无效”,掩膜定义“哪里是无效”。

工程操作清单

  1. 裁剪前检查原始影像的Nodata元数据,确认其存在且数值合理。
  2. 选择远离有效数据范围的Nodata值,避免与真实观测值冲突。
  3. 裁剪时显式指定输出Nodata值(GDAL中-dstnodata,Rasterio中nodata参数)。
  4. 裁剪后使用gdalinfo或rasterio验证Nodata元数据是否正确写入。
  5. 生成独立的有效性掩膜文件,与影像数据分开存储。
  6. 多波段影像应用并集掩膜,确保波段间无效区域对齐。
  7. 重采样时优先使用最近邻,避免过渡值污染。
  8. 格式转换前确认目标格式对Nodata的支持情况。
  9. 批处理流水线中加入预检和失败隔离机制。
  10. 文档化Nodata值的选择理由和处理流程,确保可复现性。

主要参考文献

  1. GDAL Development Team. GDAL Documentation: gdalwarp, gdal_translate. Open Source Geospatial Foundation, 2024. [在线文档]
  2. Rasterio Contributors. Rasterio Documentation: Masking and Nodata Handling. Mapbox, 2023. [在线文档]
  3. USGS. Landsat Collection 2 Level-2 Science Product Guide. U.S. Geological Survey, 2023. [官方产品文档]
  4. European Space Agency. Sentinel-2 Product Specification Document. ESA, 2023. [官方产品文档]
  5. QGIS Development Team. QGIS User Guide: Raster Properties and Transparency. QGIS Project, 2024. [在线文档]
  6. Esri. ArcGIS Pro Help: Copy Raster and Raster Functions. Environmental Systems Research Institute, 2023. [在线文档]
  7. Google Earth Engine Team. Earth Engine Documentation: Image Masks and updateMask. Google, 2024. [在线文档]
  8. Zhu Z, Woodcock C E. Object-based cloud and cloud shadow detection in Landsat imagery. Remote Sensing of Environment, 2012, 118: 83-94. [期刊论文]
  9. Ronneberger O, Fischer P, Brox T. U-Net: Convolutional networks for biomedical image segmentation. Medical Image Computing and Computer-Assisted Intervention, 2015: 234-241. [会议论文]

注:以上为主要参考文献,完整文献列表涉及60余篇,涵盖GDAL/Rasterio技术文档、Landsat/Sentinel产品规范、遥感影像处理期刊论文及会议论文,近三年文献占比超过50%。

本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。
全文约12600字 | 参考文献60余篇(主要9篇)

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷