VC调用ENVI/IDL进行二次开发实践指南

需积分: 9 3 下载量 101 浏览量 更新于2024-08-16 收藏 2.3MB PPT 举报
"VC调用ENVI/IDL-ENVI的二次开发PPT" 本文将深入探讨如何在VC++环境中调用ENVI(Environment for Visualizing Images)/IDL(Interactive Data Language)进行二次开发,以及ENVI的菜单定制与自定义坐标系、波段运算与批处理等核心知识点。 首先,VC调用ENVI/IDL涉及到几个关键步骤。在建立一个VC的MFC工程后,需要将ITT公司的IDL70\external\include目录下的idl_export.h头文件复制到工程中,并将其添加到工程的包含目录。接着,要在工程设置的“连接”选项中,将idl.lib添加到对象/库模块。此外,还需要在工具的“选项”中,将IDL的BIN路径添加到Library files目录,并在系统环境变量的PATH中添加IDL的BIN.X86路径。完成这些配置后,可以通过调用IDL_Win32Init、IDL_ExecuteStr和IDL_Cleanup等函数来初始化和执行IDL命令。 ENVI的二次开发主要涉及以下几个方面: 1. **菜单定制与自定义坐标系**:ENVI的菜单文件通常保存在HOME\ITT\IDLxx\products\envixx\menu目录下,如display.men、display_shortcut.men和envi.men。通过修改这些文件,可以定制ENVI的菜单结构。例如,可以使用记事本编辑envi.men,添加新的菜单项,并编写相应的IDL程序来处理用户选择。在IDL环境下,可以创建新的函数来实现特定功能,如在上述示例中的file_info.pro,用于处理文件信息查询。 2. **波段运算与批处理**:ENVI提供了丰富的波段运算功能,包括数学运算、统计分析、图像分类等。通过编程接口,开发者可以实现对多光谱数据的批处理操作,自动化地对大量图像进行分析和处理。 3. **ENVI函数**:ENVI提供了大量的函数供用户使用,包括图像显示、处理、分析和导出等功能。例如,ENVI_SELECT用于选择文件,ENVI_FILE_QUERY用于获取文件元数据,而OpenR和Free_LUN则用于读取和释放文件句柄。熟练掌握这些函数是ENVI二次开发的基础。 4. **ENVI/IDL与ArcGIS一体化集成方案**:ENVI和IDL可以与GIS软件如ArcGIS进行集成,实现空间数据的综合分析。这通常涉及创建自定义工具或插件,使得用户可以在GIS界面上直接调用ENVI的功能。 通过以上步骤和知识点,开发者能够有效地在VC环境中调用ENVI/IDL进行图像处理和分析,同时也能利用ENVI的灵活性进行定制化开发,满足特定的遥感影像处理需求。在实际项目中,这种集成能力对于提高工作效率和数据分析质量具有重要意义。