R 中两个栅格(Landsat slc-off 图像)的线性直方图匹配



我在R中有两个栅格(Landsat slc-off图像(。两者都缺少一些数据,但间隙位置完全偏移。例如,我在下面创建了两个栅格r1r2

r1 <- raster(system.file("external/test.grd", package="raster"))
r1_mat <- as.matrix(r1)
r1[which(!is.na(as.matrix(r1)))[1:600]] <- NA
par(mfrow=c(3,1))
plot(r1)
r2 <- raster(system.file("external/test.grd", package="raster"))
r2[which(!is.na(as.matrix(r2)))[900:1400]] <- NA
plot(r2)

然而,第二张图像是在不同的大气条件下拍摄的,比如说,太阳照明更好。要模拟此效果(非常简单(:

r2 <- r2 + 200

现在我想用 r2 像素填充 r1 中缺失的数据,这些像素与间隙重叠,这很简单:

r3 <- cover(r1, r2)
plot(r3)

plot(r3)的结果来看,本页图2中也显示了所谓的"剥离效应",这是显而易见的。推荐的解决方案之一是在进行间隙填充之前通过匹配直方图来规范化两个图像。该技术基于候选图像的累积分布函数,例如在Grass 7中所做的那样。

我究竟如何在 R 中实现这一点?谢谢!

经过进一步的谷歌搜索,我遇到了 cran 包landsat .它具有histmatch()relnorm()功能来做到这一点。 ?histmatch()用例子完美地解释了这一切。

最新更新