5(下)ENVI的功能扩展与ENVI二次开发.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ENVI功能扩展介绍 Esri中国(北京)遥感事业部 董彦卿 ENVI功能扩展 ENVI功能扩展 波段、波谱运算 用户函数 二次开发模式 关键字和函数 ENVI的功能扩展 ENVI是使用IDL语言编写的优秀的遥感影像处理平台,用户可以很方便的通过IDL语言以及ENVI提供的二次开发工具对ENVI的功能进行增强,添加新的功能函数。 ENVI的功能扩展 波段和波谱运算函数 ENVI提供两个功能,能够使用户能够对影像波段或波谱进行数学运算,或是使用运算函数进行运算; 最简单,无需对ENVI内部的处理机制进行了解; 用户函数 通过ENVI的菜单来执行,通过ENVI获得输入数据,并将结果直接输入到ENVI中; 二次开发模式(批处理模式) 将常用处理编写成为IDL程序,常用于操作的批量处理; 在该模式下, 用户能够通过调用ENVI的非交互函数,实现绝大多数ENVI的功能; 用户可以编写自己的应用程序界面,而在后台使用ENVI来遥感影像处理分析功能; ENVI功能扩展 ENVI功能扩展 波段、波谱运算 用户函数 二次开发模式 关键字和函数 波段、波谱运算 波段运算基础 波段运算能够调用用户编写的程序进行处理操作 ENVI提供了波段运算对话框用来定义波段或文件作为输入,调用用户编写的函数,并将结果写入文件或是输入到内存。 波段、波谱运算 波段运算格式 直接编写表达式 波段变量命名必须为b1,b2..等; 编写表达式函数 波段变量名必须为b1,b2等; 在波段运算表达Function开头,并有返回值; 波段函数使用变量式窗口中输入函数名和变量名就可以调用; 如放在ENVI安装目录下的save_add目录下,ENVI启动时就会自动编译并恢复该函数,或可以在ENVI主菜单中选择File—Compile IDL Module进行编译。 波段、波谱运算 波谱运算格式 跟波段运算函数基本一样; 使用变量命名s1,s2等; ENVI主菜单下,选择[Basic Tools] →[Spectral Math] 波段、波谱运算-举例 充分利用IDL的数组运算优势 ENVI功能扩展 ENVI功能扩展 波段、波谱运算 用户函数 二次开发模式 关键字和函数 用户函数-介绍 为ENVI添加功能并通过ENVI的菜单进行访问。 用户能够添加任意数量的用户函数,每个函数都可以获得它自己的菜单选项。 当用户通过菜单选择用户函数时,将会执行这些函数,如同ENVI的其它函数一样。 用户函数和IDL程序没有区别,可以称为ENVI的程序。在某种意义上说,和批处理模式也很接近,除了无需初始化批处理模式。 用户函数 菜单结构 包括主菜单和显示窗口菜单,是由ENVI安装路径下的MENU目录下的envi.men和display.men这两个ASCII码文件定义的。 Envi.men文件定义了ENVI的主菜单,display.men文件定义了显示窗口菜单。 每次ENVI启动的时候,这两个文件被读入并根据它们的内容构建ENVI的菜单条。要在菜单中添加内容,只需在这两个文件中添加一行,并重新启动ENVI。 用户函数 ENVI菜单系统结构 使用文本编辑器打开envi.men文件。文件结构如下所示: 0 {File} 1 {Open Image File}{open envi file}{envi_menu_event} 1 {Open Vector File}{open vector file}{envi_menu_event} 1 {Open External File} 2 {Landsat} 3 {Fast} {open fast tm} {envi_menu_event} 3 {GeoTIFF} {open tiff} {envi_menu_event} 3 {HDF} {open envi file} {envi_menu_event} 3 {NLAPS} {open nlaps} {envi_menu_event} 每一行开始的数据定义了菜单项的层次。0表示最顶层,1表示一级子菜单,2表示二级子菜单,依次类推。 用户函数 ENVI菜单系统结构 {Open External File}第一个大括号括起来的部分定义了显示在菜单上的内容。 {open envi file}第二个大括号括起来的部分定义了为菜单项所赋给的用户值。用户值在同一用户函数处理多个菜单项时非常有用,可以区别那个菜单项被选择。 {envi_menu_event}第三个定义了菜单项事件处理程序名称,即编写的用户函数名,此处使用的是用户函数

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档