我打算将多光谱图像转换为基于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)
答案 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)
应该这样做!