学习笔记8 ENVI 逻辑运算符

ENVI 逻辑运算符
1.band math
在这里插入图片描述
2.波段运算满足条件

  • 必须符合IDL语言书写波段运算表达式
  • 所有输入波段必须具有相同的空间大小
  • 表达式中的所有变量都必须用Bn(或bn)命名
  • 结果波段必须与输入波段的空间大小相同

3.数据类型
在这里插入图片描述
!!!关系运算符对真值(关系成立)返回值为1,对假值(关系不成立)返回值为0。

!!!最小值(<)和最大值(>)运算符,但与关系运算符或Boolean运算符不同的是:它们不返还真值或假值,而返还实际的最小值和最大值。

!!!例子1:
1.要找出所有负值像元并用值-999代替它们,可以使用如下的波段运算表达式:

             (b1 lt 0)*(-999)+(b1 ge 0)* b1 

系统读取表达式(b1 lt 0)部分后将返还一个与b1维数相同的数组,其中b1值为负的区域返回值为1;其他部分返回值为0,因此在乘以替换值-999时,相当于只对那些满足条件的像元有影响。第二个关系运算符(b1 ge 0)是对第一个的补充——找出那些值非负的像元,乘以它们的初始值,然后再加入替换值后的数组中。
!!!例子2:
在图像b1中,像元值大于200的像元被认为是云,希望用图像b2中的相应像元对它们进行替换。

             (b1 gt 200)* b2 + (b1 le 200)* b1

用类似的运算表达式,可以将一幅图像的黑色背景变成白色背景:

             (b1 eq 0)*255 + (b1 gt 0)*b1

b1等于0的部分返回值为1,1255=255,其他部分返回值为0,0255=0.b1大于0的部分返回1,1的部分*b1=b1的原始部分。
4.运算优先级
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4.利用波段运算修改NaN

NaN为Not a Number的缩写,在遥感图像中属于异常值。

修改0值为NaN

                  float(b1)*b1/b1

修改特定值(250)为NaN

               b1*float(b1 ne 250)/(b1 ne 250)

修改NaN为特定值(-999):

        finite(b1, /nan)*(-999) or (~finite(b1, /nan))*b1

修改NaN为0值(先按上面方法修改为-999或其他图像中不存在的值)

                   (b1 ne -999)*b1

5.波谱运算(Spectral Math)!!!
ENVI Spectral Math是一种灵活的波谱处理工具,可以用数学表达式或IDL程序对波谱曲线(以及选择的多波段图像)进行处理。波谱曲线可以来自一幅多波段图像的Z剖面、波谱库或ASCII文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
文章来源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值