ENVI批量图片格式转换(IDL语言实现,raw转换为tif)

笔者最近需要将大量.raw后缀的多光谱图像转换为tif格式,然后再利用matlab对tif格式的图片进行处理。


然而,利用ENVI将.raw图片读入后,只能一张一张地将其另存为.tif格式。


笔者考虑在ENVI+IDL环境下用IDL语言实现批量转换图片格式,然而在网上没有搜到直接能用的代码,通过查阅ENVIRaster::Export方法的Example(https://www.harrisgeospatial.com/docs/ENVIRaster__Export.html),结合for循环,实现了批量将raw图片转换为tif图片


IDL代码如下:

; 2017-08-21 00:00:40  
; author: xiaohu  
PRO ENVIRaster_Study    
  e = ENVI() ; Launch the application  
  for i = 2158, 2355 do begin ; 利用for循环实现批量转换  
      filepath_input = 'E:\input images\prefix_'+strcompress(string(i), /remove)+'.raw' ; 输入文件路径  
      raster1 = e.OpenRaster(filepath_input) ; 读入文件  
      
      filepath_output = 'E:\output images\FN'+strcompress(string(i), /remove)+'.tif' ; 输出文件路径  
      raster1.Export, filepath_output, 'TIFF' ; 输出为tiff格式  
      Print,'finished' ;打印finished,提示完成  
  endfor  
end  

上述代码中,输入文件路径为:E:\input images\,文件名为prefix_2158.raw, prefix_2159.raw,...,prefix_2355.raw,共约两百张图片。

输出路径为:E:\output images\,输出文件的文件名为FN2158.tif,FN2159.tif,...,FN2355.tif。


使用时,只需更改i值变化范围、输入文件路径、输出文件路径即可。

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值