R栅格波段组合未显示rgb

时间:2017-11-20 13:51:29

标签: r rgb r-raster sentinel

我想用不同图像的频道组成一个rgb图像。

我有以下三个源文件(.png)(Sentinel 2卫星图像)

blue bandred bandgreen band

使用以下代码,我尝试构建新映像。

install.packages('raster')
library('raster')

red <- raster('C:/Users/xy/Desktop/red.png')
green <- raster('C:/Users/xy/Desktop/green.png')
blue <-raster('C:/Users/xy/Desktop/blue.png')

s <- stack(blue,green,red)
plotRGB(s, r=3, g=2, b=1)

基本思路是:从每个png源文件中获取第一个波段。 将波段分配给R,G和B.

这是程序的结果。 enter image description here

但结果不是预期的真彩色图像:

expected result

我已经与更有经验的R用户交谈过。 所有人都说,它应该有效,但它没有: - (

如果有人可以指出我的错误或者可以提供解决方案的想法,我会很高兴。

1 个答案:

答案 0 :(得分:0)

据我所知,它有效。

让我们放大数据区域:

e <- extent(c(95, 160, 0, 62))
s <- crop(s, e)

现在检查

plot(s)

pairs(s)

您看到的是三个通道中的值几乎相同。如果像素中的R,G和B具有几乎相同的值,则会出现灰色(白色和黑色之间)。这就是你得到的,这与你的数据是一致的。您的数据可能存在问题。