ENVI扩展工具:图像归一化【转载 ENVI-IDL技术殿堂的博客】

http://blog.sina.com.cn/s/blog_764b1e9d0102yp0n.html
很多时候我们需要对栅格图像进行归一化操作,使所有DN值范围统一到0~1 之间。

归一化的公式为

Result=(DN-DNmin)/(DNmax-DNmin)

式中:

Result为归一化之后的值
DN为原始像元值
DNmin、DNmax分别为波段的最小、最大值

ENVI中操作步骤如下:

首先用/Statistics/Compute Statistics工具统计直方图(可以加入掩膜),获取最小值和最大值。一般情况下会取一个置信区间,比如2%或5%。
然后利用Band Math工具进行归一化,公式如下:
(b1 lt min)0+(b1 ge min and b1 le max)(b1-min)/(max-min)+(b1 gt max)*1

操作较为复杂,而且当归一化多波段数据时,只能逐个波段处理。

所以,写了扩展工具。但是,坏消息是只支持ENVI 5.5及以上版本,因为用了新接口。

1 工具安装
建议使用ENVI App Store进行ENVI扩展工具的安装与管理。

App Store下载地址:www.enviidl.com/appstore

或者可以手动下载:https://pan.baidu.com/s/1zF4nfdCj_Y__Q7Jlqt_32w 密码:gzan

将下载的 ENVI_Raster_Normalization_V5.5.zip 压缩包解压,得到 custom_code 和 extensions 文件夹,将这两个文件夹拷贝到 ENVI 安装路径:

ENVI5.5 —C:\Program Files\Harris\ENVI55
重启ENVI即可使用。

注:本工具支持ENVI 5.5及更高版本

2 工具使用
在工具箱启动/Extensions/Raster Normalization

ENVI扩展工具:图像归一化

在这里插入图片描述
参数介绍:

Input Raster:输入栅格图像,支持多波段,分波段统计最小/大值进行归一化。
Input Mask Vector:输入统计最小/大值的掩膜矢量。
Input Mask Raster:输入统计最小/大值的掩膜栅格。
以上2个掩膜文件二选一,或不设置。
Percent(%):置信区间百分比,默认2%
Output Data Type:输出数据类型。可选Float(01)、Byte(0255)
Display Result:是否加载显示结果
Output Raster:输出文件

3 接口调用
工具安装完成后,可在IDL中调用接口,或使用ENVI Modeler,轻松实现批处理。

e=envi()

task=ENVITask(‘RasterNormalizationDu’)

task.input_raster=input_raster

task.input_mask_vector=mask_vector

task.percent=5.0

task.output_data_type=“Float (0.0~1.0)”

task.output_raster_uri=outfile

task.execute

;添加Data Manager并自动显示

e.data.add, task.output_raster

view=e.GetView()

layer=view.Createlayer(task.output_raster)

其他关键字:

display_result:是否显示结果,输入0或1
input_mask_raster:掩膜图像文件,输入ENVIRaster

  • 7
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值