今天,重新跑了一下,之前写的代码,发现,输入影像只能是单波段的,哈哈哈哈哈哈哈哈,之前忽略了这个问题,但问题不大。
主要的波段合成函数:envi_layer_stacking_doit (由于版本限制,如果使用的是最新版ENVI 5.5,可以直接使用高级封装函数,但无奈我的版本是envi5.3 , IDL 8.5, 虽然envi改进了波段合成,使用了另外的函数,如下:
重点:envi_layer_stacking_doit 使用于全波段的修改方法,关键在于 fid以及 pos, dims需要一一对应,且逐波段对应,如下所示:
假设 A影像有一个波段,B影像有databands个波段,则需要明确,波段合成后的波段为databands+1,于是,设置以下fid, pos, dims: 需注意一一对应,逐波段对应
dimall=INTARR(5,databands+1)
posall=[INDGEN(databands),0]
fidall=INTARR(databands+1)
FOR k=0,databands-1 do begin
fidall[k]=data_fid
dimall[0:4,k]=data_dims
endfor
fidall[dat