我想用不同图像的频道组成一个rgb图像。
我有以下三个源文件(.png)(Sentinel 2卫星图像)
使用以下代码,我尝试构建新映像。
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
但结果不是预期的真彩色图像:
我已经与更有经验的R用户交谈过。 所有人都说,它应该有效,但它没有: - (
如果有人可以指出我的错误或者可以提供解决方案的想法,我会很高兴。
答案 0 :(得分:0)
据我所知,它有效。
让我们放大数据区域:
e <- extent(c(95, 160, 0, 62))
s <- crop(s, e)
现在检查
plot(s)
和
pairs(s)
您看到的是三个通道中的值几乎相同。如果像素中的R,G和B具有几乎相同的值,则会出现灰色(白色和黑色之间)。这就是你得到的,这与你的数据是一致的。您的数据可能存在问题。