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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BandMath工具能够方便的执行图像中各个波段的加、减、乘、除、三角函数、指数、对数等数学函数计算,也可以使用IDL编写的函数。BandMath工具使用函数都是基于IDL的数据组运算符。 IDL的数组运算符使用方便且功能强大。它们可以对图像中的每一个像元进行单独检验和处理,而且避免了FOR循环的使用(不允许在波段运算中使用)。数组运算符包含关系运算符(LT、LE、EQ、NE、GE、GT)、Boolean运算符(AND、OR、NOT、XOR)和最小值、最大值运算符(、)。这些特殊的运算符对图像中的每个像元同时进行处理,并将结果返还到与输入图像具有相同维数的图像中。例如:要找出所有负值像元并用值-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 lt 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 最小值运算符()和最大值运算符() 其他数学函数 指数(^)和自然指数(exp(x)) 自然对数(alog(x)) 以10为底的对数(alog10(x)) 整型取整——round(x)、ceil(x)、和floor(x) 平方根(sqrt(x)) 绝对值(abs(x)) 版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途。 目录 波段运算与波谱运算工具 1. 概述 2. 波段运算用法示例 3. 波段运算满足条件 4. 波段运算的IDL知识 4.1 注意数据类型 4.2 数据类型的动态变换 4.3 充分利用IDL的数组运算符 4.4 运算符操作顺序 4.5 调用IDL函数时注意事项 5. 波段运算典型公式 6. 调用IDL用户函数 6.1 编写函数 6.2 编译函数 6.3 使用函数 7. 波谱运算(Spectral Math) 1. 概述 ENVI Band Math是一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理软件中获得的。由于每个用户都有独特的需求,利用此工具,用户自己可以定义处理算法,应用到ENVI打开的波段或整个图像中,用户可以根据需要自定义简单或复杂的处理程序。例如,可以对图像进行简单加、减、乘、除运算,或使用IDL编写更复杂的处理运算功能。 波段运算实质是对每个像素点对应的像素值进行数学运算。如下图为一个简单波段运算的示意图,运算表达式是三个变量相加,每一个变量对应于一个图像数据,对这三个图像数据求和并输出结果图像。表达式中的每个变量不仅可以对应于单一波段,也可以是一个多波段的栅格文件。例如:在表达式b1+b2+b3中,如果b1是一个多波段图像文件,b2、b3为单一波段,则结果为b1所对应的文件的所有波段分别和b2、b3进行求和。 图:波段运算示意图 2. 波段运算满足条件 使用波段运算需要满足5个基本条件: 一、必须符合IDL语言书写波段运算表达式 所定义的处理算法或波段运算表达式必须满足IDL语法。不过,书写简单的波段运算表达式无须具备IDL的基本知识,但是如果所感兴趣的处理需要书写复杂的表达式,建议学习用于波段运算的IDL知识。 二、所有输入波段必须具有相同的空间大小 由于波段运算表达式是根据pixel-for-pixel原理作用于波段的,因此输入波段在行列数和像元大小必须相同。对于有地理坐标的数据,如果覆盖区域一样,但是由于像元大小不一样使得行列数不一致,在进行波段运算前,可以使用/Raster Ma

文档评论(0)

yyons2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档