ENVI: Layer Stacking

利用 envi_layer_stacking_doit 实现波段融合。可考虑用面向对象的编程方式去重新编码(暂时复制以前的代码)。

compile_opt idl2
  
  envi, /restore_base_save_files 
  
  start_path = 'F:\Temporary\data\LC8 Results\ENVI_clip\temp\ROI\'
  cd,start_path
  out_path = 'F:\Temporary\data\LC8 Results\ENVI_clip\temp\ROI\'
  
  Files = FILE_Search(start_path + 'L*roi.tif', count = Filecount)
  print, files
  If FileCount Eq 0 Then Begin
    print, 'File not exist'
    Return
  Endif
  
  test_file = FILE_Search(out_path + '*Layer_stacking*', count = test_count)
  if test_count ne 0 then begin
    file_delete, out_path +"Layer_stacking"
    file_delete, out_path +"Layer_stacking.hdr"
  endif
  
  nb = Filecount
  fid = lonarr(nb)
  pos = lonarr(nb)
  dims = lonarr(5,nb)
  out_bname = strarr(nb) ;为输出的每个波段命名
  
  For i = 0, Filecount - 1 do begin

    A_Name = Files[i]
    envi_open_file, A_Name, r_fid=a_fid
    envi_file_query, a_fid, ns=a_ns, nl=a_nl, nb=a_nb, dims = a_dims,$
      data_type = data_type
  
    fid[i] = a_fid
    pos[i] = 0  ;由于输入文件为单波段,故取值0
    dims[0,i] = a_dims
    pos_num = strpos(file_basename(A_Name),'.') 
    out_bname[i] = strmid(file_basename(A_Name),0, pos_num)
  Endfor
  
  out_proj = envi_get_projection(fid=a_fid, $
    pixel_size=out_ps)
  out_name = 'Layer_stacking'
  out_dt = data_type
  
  envi_doit, 'envi_layer_stacking_doit', fid=fid, pos=pos, dims=dims, $
    out_dt=out_dt, out_name= out_path + out_name, interp=2, out_ps=out_ps, $
    out_proj=out_proj, r_fid=r_fid, out_bname = out_bname
    
  ENVI_FILE_MNG, id =a_fid,/remove
  print, 'Done'
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Envi中的layer stacking是指将多个遥感图像层叠在一起,形成一个多波段图像。这样可以方便地对多个波段进行分析和处理,比如进行分类、变化检测等。在进行layer stacking时,需要注意各个图像的波段数、波段顺序和像元大小等参数的一致性,以保证结果的准确性。 ### 回答2: EnviLayer Stacking功能可用于将多个遥感图像叠加在一起,以生成更详细和精确的地图。 在使用此功能时,您可以将多个波段和图像组合在一起,以创建单个复合图像。 在Layer Stacking中,有两种类型的叠加: 像素级叠加和波段级叠加。 像素级叠加是指将来自不同图像的相同像素位置的值平均化,以生成一幅新图像。 这种叠加方法对于希望得到更平滑结果的图像非常有用。 另一方面,波段级叠加则是指将两个或多个不同波段的图像进行组合,以最终形成一个有多个波段的图像。 这种叠加方法可用于遥感分析中的多光谱数据集,在此过程中,您可以通过添加任务波段来制作各种衍生地图。 在使用Layer Stacking功能时,还可以添加阴影,使图像在视觉上更易于理解。 例如,您可以将某些波段叠加在一起来创建RGB合成图像,导入DEM数据以添加阴影,并将图像投影到特定的坐标系中。 Layer Stacking还可以用于减少图像的噪点和增强对比度。 例如,当图像具有不同的光谱波段和分辨率时,将它们叠加在一起可以减少图像中的噪点和杂乱信息。 总的来说,Envilayer Stacking 拥有许多不同的应用场景。您可以根据需要选择合适的叠加方式,以生成高质量的遥感图像,并支持后续的遥感分析和地图制作任务。 ### 回答3: Envi是一款被广泛应用于遥感图像处理和分析的软件,在Envi中有一项重要的功能——layer stacking(图层叠加)。图层叠加可以将多个遥感图像叠加在一起,以便进行一些综合分析和检测。下面我们就来详细探讨一下Envi里面的layer stacking。 在Envi中,图层叠加的主要目的是将多张遥感图像融合在一起,以便提高图像质量,同时得到更加详细、精确的信息。在使用图层叠加之前,需要在Envi中导入所有需要叠加的图像,将它们分别显示在单独的面板中。然后通过选择“Layer Stacking”功能,将它们合并到同一个视图中。 在进行图层叠加之前,需要注意要先将每一张图像的尺度调整到一致,否则将无法正确叠加。另外,在进行图层叠加之前,还需要对每一张图像进行一定的预处理,比如背景去除、空间校正等,以便获得更好的叠加效果。 在Envi的图层叠加功能中,还可以进行一些参数设置,比如混合方式、透明度、叠加排序等。其中混合方式有多种选择,比如正片叠底、滤色、变暗、变亮等,每种混合方式可以让用户获得不同的融合效果。 图层叠加的应用领域包括遥感影像发布、地图制图、环境监测和天气预报等,其主要优点体现在提高图像质量、获得更加详细、丰富的信息和方便了对遥感影像的分析处理等方面。 总之,Envi中的layer stacking功能可以让用户方便地叠加多张遥感图像,提高图像质量和信息量,并拓展了遥感图像分析的应用范围。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值