论坛里面的一个问题“ENVI怎样将图像各波段分开为单独文件”。IDL二次开发调用ENVI函数可以轻松实现,用哪个函数呢,有 “cf_doit”、“resize_doit”、“math_doit”、“envi_layer_stacking_doit”等几个。当然了,将各波段一次全部读出来再写成二进制文件也行(分块也可以,稍微麻烦些),一旦遇到大数据了不好控制内存占用。
基于:
http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=60383 对上面几种方式的调用和花费时间简单进行了测试,程序主界面如下:
sav程序http://www.rayfile.com/files/7 ... b73d/
主要功能代码如下:
对70M左右的224个波段的高光谱数据测试,各方法花费的时间如下:
这里的writeU最快,cf_doit次之,也在意料之中,因其他函数均支持分块处理。故最保险的函数还是选用cf_doit。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100wnq3.html