ENVI扩展工具:基于矢量或ROI的图像裁剪工具

在 ENVI 5.6及以前版本,有这样一个工具,可以基于矢量或ROI对图像进行裁剪:

  • Toolbox/Regions ofInterest/Subset Data from ROIs

很遗憾的是,在 ENVI 5.6.1 版本将此工具移除了。如果想要实现上述工具的功能,需要如下操作步骤:

1) 打开主菜单 File >Save As > Save As… (ENVI, NITF, TIFF, DTED)

2) 在弹出对话框中,选中待裁剪图像,点击 Spatial Subset,在右侧点击Subset by Vector…或 Subset by ROI… (如下图所示)确定裁剪矩形范围;

3) 在同一窗口下方点击 Mask…,弹出对话框中选择矢量或 ROI。点击OK。

4) 点击OK,设置输出参数即可。

以懒人自居的我实在无法接受这样的操作方式,只能写一个工具了。 ENVI 5.6 及以前版本使用自带 Subset Data from ROIs 工具即可。

 

1 下载安装


方法1:使用 ENVI App Store 进行 ENVI 扩展工具的安装与管理。

App Store 下载地址:envi.geoscene.cn/appstore

方法2:手动下载 https://envi.geoscene.cn/appstore/subttrrnew

下载 zip 压缩包并解压,将得到的 extensions 和 custom_code 文件夹拷贝到如下 ENVI 安装路径,覆盖同名文件夹即可:

  • ENVI 5.5 及以上 - C:\Program Files\Harris\ENVI5x\

重启 ENVI 即可使用。

注:本工具支持 ENVI 5.5 及更高版本,使用 ENVI 5.6.1 测试。

 

2 使用说明


工具位于:Toolbox/Extensions/Subset Data from ROIs [NEW]

参数说明:

· Input Raster:输入待裁剪图像。选择图像时可以进行空间裁剪和波段裁剪。

· Input Vector:输入矢量文件。

· Input ROIs:输入感兴趣区域。

注:Input Vector 和 Input ROIs 两个参数需要设置至少一个用于裁剪。当矢量和 ROI 均设置时,裁剪结果将取交集。

· Inverse Mask:是否反转裁剪。默认为否;矢量或ROI范围内图像将保留。若设置为是,则范围外图像将保留。

· Data Ignore Value:忽略值。若设置,则以设置值为准;若不设置,当输入图像自带忽略值时,以此忽略值为准,否则默认为0。

· Output Raster:输出图像,设置输出路径。

 

3 接口调用


接口调用示例如下,同时此ENVITask可用于ENVI Modeler。

Task = ENVITask('ENVISubsetDatafromROIsNew')
Task.INPUT_RASTER = raster
Task.INPUT_VECTOR = ovecter
Task.INPUT_ROIS = orois
Task.DATA_IGNORE_VALUE = 0
Task.OUTPUT_RASTER_URI = 'C:\temp\sub.dat'
Task.Execute
output_raster = Task.OUTPUT_RASTER
posted @   ENVI-IDL技术殿堂  阅读(5443)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示