ENVI 5.2光谱指数工具(Spectral Indices)

  ENVI5.2新增光谱指数工具(Spectral Indices)来计算各种指数,包括植被、地质、人造特性,燃烧区域,和水;同时包括之前版本27种的植被指数与植被指数计算器。

1、新增指数列表

2、特征指数

3、ENVI 5.2波谱指数计算

利用 Spectral Indices 工具计算一个影像的波谱指数,可通过以下步骤实现:

  1. 在Toolbox选择 Band Algebra > Spectral Index
  2. 双击Spectral Index.弹出对话框,在对话框中选择输入的影像文件以及计算用的植被指数。注意:输入的影像文件必须包含有中心波长元文件;
  3. 选择一种需要计算的指数。并非所有的输入影像都可以计算ENVI提供的指数计算,在不能满足实际应用时可采用ENVIQuerySpectralIndicesTask编写计算脚本,从而计算所需要的指数文件。
  4. 选择输出文件路径以及名称。

 5.勾选 Preview ,查看其计算的指数数据,在满足条件的情况下,点击OK执行指数计算。

 6.选择 Display result 选项,计算完后的影像文件自动添加在左侧列表中显示。

   7.点击OK,完成植被指数计算。

4、ENVI QuerySpectralIndices API

    使用ENVI QuerySpectralIndices API程序可以计算给定影像可获取的指数数据。编写IDL脚本计算光谱指数可参考以下示例编程:

; Start the application
e = ENVI()
; Open an input file
File = Filepath('qb_boulder_msi', Subdir=['data'], $
Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
; Process a spatial subset
Subset = ENVISubsetRaster(Raster, Sub_Rect=[600,200,799,399])
; Get the task from the catalog of ENVITasks
Task = ENVITask('QuerySpectralIndices')
; Define inputs
Task.INPUT_RASTER = Subset
; Run the task
Task.Execute
; Get the task from the catalog of ENVITasks
Task2 = ENVITask('SpectralIndices')
; Define inputs
Task2.INPUT_RASTER = Subset
Task2.INDEX = Task.AVAILABLE_INDICES
; Run the task
Task2.Execute
; Get the data collection
DataColl = e.Data
; Add the output to the data collection
DataColl.Add, Task2.OUTPUT_RASTER
; Display the result
View1 = e.GetView()
Layer1 = View1.CreateLayer(Task2.OUTPUT_RASTER)
; Print the available indices to the
; ENVI command line
Task.AVAILABLE_INDICES
posted @   ENVI-IDL技术殿堂  阅读(1724)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示