从大型 GeoTIFF 卫星影像中根据地理坐标提取图像切片(Patches),并构建用于卷积神经网络(CNN)训练的数据集**。
遥感大数据预处理:如何从大型卫星影像中提取训练切片?
引言
在应用卷积神经网络(CNN)进行地物分类时,我们面临的一个首要挑战是:卫星影像通常非常巨大(数 GB 甚至更高),而 CNN 模型的输入通常只是微小的图像块(如 9×9 或 32×32 像素)。我们不能直接把整个城市或国家的影像丢进模型。
今天,我将分享一段 Python 自动化脚本,演示如何利用地理坐标数据,从海量的遥感影像中精准“抠”出我们需要的数据块,并构建一个高性能的训练数据集。
技术要点:窗口化读取 (Windowed Reading)
处理遥感数据时,内存管理至关重要。代码中使用了 rasterio 库的 Window 功能。它的精妙之处在于:只读取你需要的那几个像素,而不是加载整张图片。 这意味着即使你处理的是 TB 级的卫星影像,这段脚本依然能在你的普通笔记本电脑上流畅运行。
核心步骤解析
1. 坐标映射:从经纬度到像素
地理坐标(经纬度)模型无法理解,我们需要通过影像的“仿射变换矩阵(Affine Transform)”将其转换为像素坐标







