IDL---批量波段合成(只要点击运行,自动化处理,解放生产力)

本文介绍了一种使用IDL编程语言批量处理遥感影像波段合成的方法,通过遍历指定目录下的所有影像文件,按预设顺序进行波段合成,并输出至指定路径,实现了遥感影像处理的自动化和高效化。

参考博客地址:https://blog.youkuaiyun.com/t46414704152abc/article/details/72520575

要进行几百份数据的波段合成,不批量处理真是要做到猴年马月哟。

参考上面的这个博文做了一些改动,遍历文件夹下所有地址,实现批量化处理,解放生产力,做个记录。

;这是一段进行遥感波段合成的代码
;img_dir代表需要合成的文件所在的目录
;orderArray是一个数组,代表读取到的文件的合成顺序
;imgSuffixName表示影像的后缀名
;outPutPath代表影像输出路径
Function LayerStack, img_dir,imgSuffixName,orderArray,outPutPath
  IF File_test(outPutPath) EQ 1 THEN BEGIN;如果输出路径文件已经存在,则直接返回
    return, outPutPath
  ENDIF
  COMPILE_OPT idl2
   ;求出该路径下对应格式的影像文件路径
   image_files=file_search(img_dir,"*."+imgSuffixName,count=fileNum)
  ;如果没找到文件,则返回
  if  image_files eq [""] then Begin
  print,"没找到",imgSuffixName,"类型的文件,请检查路径是否正确"
  return, outPutPath;若没找到对应文件,直接返回
  endif
  ;启动envi,打开第一个影像文件
  e = ENVI(/HEADLESS)
   band = e.OpenRaster(image_files[0])
   spatialRef = band.SPATIALREF;
   bandNum = Size(orderArray,/N_elements);求出波段合成顺序数组的大小
    bandArray = objarr(bandNum)
     ;按照orderAr
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值