波段运算(bandmath)工具中常用的函数和实例.docx

波段运算(bandmath)工具中常用的函数和实例.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
波段运算(bandmath)工具中常用的函数和实例

波段运算(bandmath)工具中常用的函数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?????????????????(第一个应该是gt)类似的使用数组运算符的表达式为波段运算提供了很强的灵活性。下表中描述了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))ENVI 波段运算的函数和实例波段运算(Band Math)Band MathTM功能允许你处理导致单个波段输出的复杂表达式。这些数学表达式也可以应用于一个多波段文件中的所有波段,providing “File Math”。关于使用波段运算的更多信息,请参阅?ENVI Programmer’s Guide?第?29?页的?“Band Math Basics”。可利用波段运算功能(Available Band Math Functions)Band Math?功能为用户提供一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。该功能的能力与?IDL?语言的能力直接相关。可用的函数包括但不仅限于?表?4-2?中列出的数学表达式。Series and Scalar?数学三角函数其它波段运算选项加(+)正弦(sin(x))关系运算符(EQ、NE、LE、LT、GE、GT)减(-)余弦(cos(x))逻辑运算符(AND、OR、XOR、NOT)乘(*)正切(tan(x))类型转换函数(byte,?fix,long,?float,?double,complex)除(/)反正弦(asin(x))IDL?返回数组结果的函数最小运算符()反余弦(acos(x))IDL?返回数组结果的程序最大运算符()反正切(atan(x))User IDL?函数和程序绝对值(abs(x))双曲正弦(sinh(x))平方根(sqrt(x))双曲余弦(cosh(x))指数(^)双曲正切(tanh(x))自然指数(exp(x))自然对数(alog(x))以10为底的对数(alog10(x))表?4-2:?一些可用的波段运算函数。注意一些有效的?IDL?表达式要求整个输入数组存在于内存中,它可以不必与?ENVI?tiling?操作相兼容。Band Math?对话框1.?选择Basic Tools Band Math.将出现?Band Math?对话框。假如运算结果是一个二维数组,它将接受任何有效的?IDL数学表达式、函数或程序。2.?在标签为?“Enter an expressi

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档