在遥感影像处理中,云覆盖是影响数据质量的主要挑战。下面将围绕Landsat 8云掩膜与去云处理的核心代码展开解析,帮助理解不同方法的技术原理与应用场景。
一、Landsat 8影像筛选与云量初步过滤
// 筛选Landsat 8影像并进行云量初步筛选
var landsat8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterBounds(userDrawnRectangle)
.filterDate(startDate, endDate)
.filterMetadata('CLOUD_COVER', 'less_than', 25) // 云量小于25%
.filterMetadata('CLOUD_COVER', 'greater_than', 5); // 确保有一定云量用于测试
核心解析:
- 数据筛选:通过
filterBounds和filterDate限定空间范围与时间区间,确保获取目标区域的影像。 - 云量过滤:
CLOUD_COVER元数据表示整景影像的云覆盖比例,less_than 25排除高云量影像,greater_than 5避免无云场景(无法测试云处理效果)。
二、云掩膜核心方法:从基础到增强
1. 原始云掩膜(基于Landsat标准QA波段)
function maskCloudsOriginal(image) {
var qa = image.select('QA_PIXEL');
var cloud = qa.bitwiseAnd(1 << 3).or(qa.bitwiseAnd(1 << 4)); // 高置信度云+云阴影
var cirrus = qa.bitwiseAnd(1 << 2); // 卷云
return image.updateMask(cloud.not()).updateMask(cirrus.not());
}
核心解析:
- QA_PIXEL波段:Landsat 8的质量评估波段通过二进制位存储云信息:
1 << 3(bit3):高置信度云(置信度≥90%)1 << 4(bit4):云阴影1 << 2(bit2):卷云(高层薄云)
- 掩膜逻辑:通过
bitwiseAnd提取云位,not()取反后用updateMask屏蔽云区域。
2. 增强型云掩膜(多条件复合检测)
function maskCloudsEnhanced(image) {
var qa = image.select('QA_PIXEL');
// 增强型云检测:高/中等置信度云+云阴影
var cloud

最低0.47元/天 解锁文章
1050

被折叠的 条评论
为什么被折叠?



