ENVI利用波段运算修改NaN(或Inf)的方法
(2020-07-18 15:38:56)分类: 遥感 |
NaN为Not a Number的缩写,在遥感图像中属于异常值。很多用户有修改NaN的需求,比如把0值修改为NaN,或把NaN修改为0值等。由于波段运算公式较为复杂,现归纳如下。
1. 直接利用波段运算进行
Ÿ
–
Ÿ
–
Ÿ
–
Ÿ
–
2. 利用扩展补丁进行调用
由于波段运算公式较为复杂,所以写成用户函数,编译为sav文件供ENVI调用。
Sav文件下载地址:http://vdisk.weibo.com/s/zrSeGYf9hiwZc
注:适用于ENVI4.8、5.0及以上版本,如果是其他版本,可以将源码自行编译为Sav文件。
下载后将sav文件拷贝到如下路径,重启ENVI即可。
Ÿ
–
Ÿ
–
Ÿ
–
补丁中函数功能和调用格式说明如下表所示:
函数名 |
功能 |
波段运算调用公式 |
NaN2Zero |
修改NaN为0值 |
NaN2Zero(b1) |
Zero2NaN |
修改0值为NaN |
Zero2NaN(b1) |
DN2NaN |
修改指定值为NaN |
DN2NaN(b1,DN) |
NaN2DN |
修改NaN为指定值 |
NaN2DN(b1,DN) |
注:公式中的DN为用户自定义DN值,比如将值为250的像元修改为NaN,公式可写为:DN2NaN(b1, 250)