如何在R语言中将光谱图像元素转换为RGB?

时间:2017-03-17 00:41:12

标签: r image-processing

我打算将多光谱图像转换为基于rgb的图像 - (RGB values of visible spectrum

基本上,我正在通过R中的“readPNG”函数读取png光谱图像。

所以,我有2个尺寸的512X512矩阵。然后根据上面的链接,我写了返回R,G,B值的函数。

现在,我的问题是如何将此RGB应用于我的图像以转换为rgb?

我的代码的一部分:

img <-readPNG("sample_img.png")  # 512 X 512 Matrix 

# after calculate R,G,B 
r = 1
g =  0.892
b = 0

el1 <- img * r 
el2 <- img * g
el3 <- img * b

col <- as.matrix(el1, el2, el3)
plot (1:512 , type="n" ) 
rasterImage(col, 1, 1, 512, 512)

我正在执行上面的代码,但仍然无法转换为获取彩色图像。

(有关光谱的更多信息:multispectral

1 个答案:

答案 0 :(得分:0)

rasterImage()函数采用3D数组,您无法使用as.matrix()创建该数组。相反,请使用abind()包中的abind

library(abind)
col <- abind(el1, el2, el3, along=3)
plot (1:512 , type="n" ) 
rasterImage(col, 1, 1, 512, 512)

应该这样做!