ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

波段运算(bandmath)工具中常用的函数

2022-05-17 12:00:06  阅读:181  来源: 互联网

标签:运算 运算符 波段 IDL bandmath b1 数组 图像 函数


BandMath工具能够方便的执行图像中各个波段的加、减、乘、除、三角函数、指数、对数等数学函数计算,也可以使用IDL编写的函数。BandMath工具使用函数都是基于IDL的数据组运算符。

IDL的数组运算符使用方便且功能强大。它们可以对图像中的每一个像元进行单独检验和处理,而且避免了FOR循环的使用(不允许在波段运算中使用)。数组运算符包含关系运算符(LT、LE、EQ、NE、GE、GT)、Boolean运算符(AND、OR、NOT、XOR)和最小值、最大值运算符(<</span>、>)。这些特殊的运算符对图像中的每个像元同时进行处理,并将结果返还到与输入图像具有相同维数的图像中。例如:要找出所有负值像元并用值-999代替它们,可以使用如下的波段运算表达式:

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

关系运算符对真值(关系成立)返回值为1,对假值(关系不成立)返回值为0。系统读取表达式(b1 lt 0)部分后将返还一个与b1维数相同的数组,其中b1值为负的区域返回值为1;其他部分返回值为0,因此在乘以替换值-999时,相当于只对那些满足条件的像元有影响。第二个关系运算符(b1 ge 0)是对第一个的补充——找出那些值为正或0的像元,乘以它们的初始值,然后再加入替换值后的数组中。这个用法可以扩展到两个图像中,比如图像1中值大于220(有云部分)用图像2中对应的像素值代替,其余保留图像1中的值,表达式就可以写成:

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

类似的使用数组运算符的表达式为波段运算提供了很强的灵活性。下表中描述了BandMath工具中常用的IDL数组操作函数,详细介绍,请参阅《IDL Reference Guide》。

 

种类

操作函数

基本运算

加(+)、减(-)、乘(*)、除(/)

三角函数

正弦sin(x)、余弦cos(x)、正切tan(x)

反正弦asin(x)、反余弦acos(x)、反正切atan(x)

双曲正弦sinh(x)、双曲余弦cosh(x)、双曲正切tanh(x)

关系和逻辑运算符

小于(LT)、小于等于(LE)、等于(EQ)、不等于(NE)、大于等于(GE)、大于(GT)

AND、OR、NOT、XOR

最小值运算符(<</span>)和最大值运算符(>)

其他数学函数

指数(^)和自然指数(exp(x))

自然对数(alog(x))

以10为底的对数(alog10(x))

整型取整——round(x)、ceil(x)、和floor(x)

平方根(sqrt(x))

绝对值(abs(x))

标签:运算,运算符,波段,IDL,bandmath,b1,数组,图像,函数
来源: https://www.cnblogs.com/enviidl/p/16280261.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有