【IDL代码库】Colibri开源软件包

Colibri介绍

Colibri是一个基于ENVI/IDL平台实现的一个开源软件包。里边包含了多种多样的算法和程序。

代码是使用不同子文件夹来存储的。每一个文件夹内都含有一些源码文件。在根目录下的Reference Guide.html文件中包含了所有对象及函数的功能介绍、调用方法等,类似于IDL帮助。

  • Application – General:含有一些通用功能,比如图像分类、创建合成图像、DSM转换为DTM等功能
  • Application – Toolbox:包含两个GUI应用程序,功能分别为图像分类后处理(可以新增类别、修改类别等)、高光谱数据处理(光谱平滑,可进行批处理)。
  • Classes:此文件夹包含了一些通用功能代码,主要为自定义类。
  • Common:此文件夹包含了一些图像处理函数。如图像分类、SVMRMSE计算等。
  • Documents:此文件夹包含了一些参考文献和LOGO等文件。
  • Examples:包含了一些示例代码和示例数据。

图:Colibri软件包目录以及Reference Guide.html文件内容


使用方法

下载地址:http://sourceforge.net/projects/enviidlcodelibr/

  • 打开IDL工作台;
  • 新建工程,输入工程名(如Colibri);
  • 将下载压缩包的文件解压,拷贝到新建的工程文件夹下;
  • 在工程名上右键选择“构建工程”,主要为了编译所有PRO源码文件。
  • 下面以两个带有GUI的工具为例,介绍使用方法。

EOSap_ClassEditor — 分类结果编辑器

因为此功能调用了ENVI库函数和组件,所以需要在IDL控制台输入“ENVI”启动ENVI。找到\Colibri\Applications\Toolbox\Classification\EOSap_ClassEditor\GUI\

EOSap_ClassEditor.pro文件,编译运行即可。用户界面如下图所示:

可以通过“Input classified image”按钮导入分类结果图像(ENVI格式),支持功能如下:

  • 右侧可以添加新的类别;
  • 可以通过鼠标右键在三个窗体中绘制多边形,选中“Change Input Class”和“To New Output Class”之后,点击“箭头”位置按钮即可完成类别转换;
  • 支持将编辑后结果保存出来。

图:分类结果编辑工具

图:新增水体类别,并将绘制区域由农田转化为水体

EOSap_Smoothing — 高光谱平滑工具

此工具使用方法与分类结果编辑器工具类似,同样需要先启动ENVI,然后运行Colibri\Applications\Toolbox\Hyperspectral\EOSap_Smoothing\GUI\

EOSap_Smoothing.pro文件即可。得到如下图所示用户界面。

  • 通过“Select Image File”导入高光谱数据(ENVI格式);
  • 通过设置“Set Smooth Factor”应用平滑操作,并且支持对不同波段设置不同的系数;
  • 在光谱曲线视窗中可预览平滑效果(绿色为平滑前的原始光谱,黄色为平滑后结果);
  • 参数设置好之后,切换到 “Apply Smoothing Parameters”选项卡,通过“Input directory”选中输入数据路径,在列表中显示出文件列表,选中要处理的文件名,设定好输出路径,点击Start即可。支持批处理操作。
  • 并且可以将平滑参数保存在本地,以备下次使用。 

 图:高光谱平滑工具主界面

图:应用平滑操作,可进行批处理

图:平滑前后光谱曲线对比(左:平滑前,右:平滑后)

 

注:上述两个工具均可在主界面点击“?”按钮查看pdf说明文档。

除了这两个带有用户界面的功能外,还有很多其他功能函数,感兴趣的可以详细研究每个PRO文件以及描述文字。

posted @ 2022-05-27 11:33  ENVI-IDL技术殿堂  阅读(513)  评论(0编辑  收藏  举报