ENVI 5的试用-更方便快捷的ENVI功能扩展

ENVI 5.0在启动、数据读写、窗口控制和处理函数方面进行了更新,提供更简单的API。本文通过代码示例介绍如何启动ENVI、读写数据、控制窗口,并详细阐述如何利用这些功能扩展ENVI工具箱,创建一个浮雕效果处理工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

    ENVI5.0对ENVI启动、数据读取、显示窗口、处理函数API进行了更新,增加了工具箱扩展流程,更新的API函数更加简洁,使用更加方便。下面首先对ENVI启动、数据读取、显示窗口控制等功能进行代码示例展示,然后利用这些功能代码结合工具箱扩展流程编写一个ENVI扩展工具实例。

    ENVI启动

代码简化了启动,使得在启动ENVI的代码更加简洁、直观。IDL的命令行下启动ENVI只需要输入代码:

e=ENVI()

二次开发模式下输入代码:

ENVI5.0代码

之前版本代码

e=ENVI(/Headless)

ENVI, /RESTORE_BASE_SAVE_FILES

ENVI_BATCH_INIT

    数据读写

之前版本中,ENVI依靠文件的ID号即FIDs来进行栅格文件的操作。ENVI5.0下可以通过新的API接口返回值来进行直接处理。比如对栅格文件的读写操作示例代码:

ENVI5.0代码

;启动ENVI

e = ENVI(/HEADLESS)

 

;打开文件

file = FILEPATH('qb_boulder_msi', ROOT_DIR = e.root_dir, $

   SUBDIR=['data'])

raster = e.OpenRaster(file)

;读取影像的第一个波段

data = raster.GetData(BANDS = 0)

 

;另存为新文件

resultFile = e.GetTemporaryFilename('.dat')

newRaster = e.CreateRaster(resultFile, data, INHERITS_FROM = raster)

newRaster.Save

 

5.0之前版本代码

;启动ENVI

ENVI, /RESTORE_BASE_SAVE_FILES

ENVI_BATCH_INIT

 

;打开文件

file = FILEPATH('qb_boulder_msi', ROOT_DIR=ENVI_GET_PATH(), $

   SUBDIR=['..','data'])

ENVI_OPEN_FILE, file, R_FID = fid

ENVI_FILE_QUERY, fid, DIMS = dims

 ;读取影像的第一个波段

data = ENVI_GET_DATA(FID = fid, DIMS = dims, pos = 0)

 

;另存为新文件

inherit = ENVI_SET_INHERITAN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值