|||
mvc很流行啊,就是进行数据的最大值合成处理,在ndvi中最常见了,要完成这个在envi中很容易实现两个波段间的最大值合成,在波段计算中输入下面公式
b1*(b1 ge b2) + b2*(b2 gt b1)
然后选择需要进行最大值合成的两个波段就可以得到了
在idl中自己开发也可以用上面的公式,如果很多波段就可以进行循环来得到多天最大值合成处理了
b=b1*(b1 ge b2) + b2*(b2 gt b1)
另外还可以通过where语句实现,不过稍微麻烦
b=b1
index=where(b1 ge b2,count)
if count ne 0 then b[index]=b1[index]
index =where(b2 gt b1,count)
if count ne 0 then b[index]=b2[index]
还可以做循环
b=b1
sz=size(b,/dimensions)
for i=sz[1]-1 do begin
for j=sz[0]- 1 do begin
b[j,i]=(b1[j,i] ge b2[j,i])?b1[j,i]:b2[j,i]
endfor
endfor
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-29 05:22
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社