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

上传人:奇异 文档编号:250336346 上传时间:2022-02-07 格式:DOCX 页数:5 大小:84.55KB
返回 下载 相关 举报
波段运算(bandmath)工具中常用的函数和实例_第1页
第1页 / 共5页
波段运算(bandmath)工具中常用的函数和实例_第2页
第2页 / 共5页
波段运算(bandmath)工具中常用的函数和实例_第3页
第3页 / 共5页
波段运算(bandmath)工具中常用的函数和实例_第4页
第4页 / 共5页
波段运算(bandmath)工具中常用的函数和实例_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《波段运算(bandmath)工具中常用的函数和实例》由会员分享,可在线阅读,更多相关《波段运算(bandmath)工具中常用的函数和实例(5页珍藏版)》请在金锄头文库上搜索。

1、波段运算(bandmath)工具中常用的函数和实例波段运算(bandmath)工具中常用的函数BandMath工具能够方便的执行图像中各个波段的加1、减、乘、除、三角函数、指数、对数等数学函数计算,也可以使用IDL编写的函数。BandMath工具使用函数都是基于IDL的数据组运算符。IDL的数组运算符使用方便且功能强大。它们可以对图像中的每一个像元进行单独检验和处理,而且避免了FOR循环的使用(不允许在波段运算中使用)。数组运算符包含关系运算符(LT、LE、EQ、NE、GE、GT)、Boolean运算符(AND、OR、NOT、XOR)和最小值、最大值运算符Oo这些特殊的运算符对图像中的每个像元

2、同时进行处理,并将结果返还到与输入图像具有相同维数的图像中。例如:要找出所有负值像元并用值-999代替它们,可以使用如下的波段运算表达式:(blIt0)*(-999)+(blge0)*bl关系运算符对真值(关系成立)返回值为1,对假值(关系不成立)返回值为0。系统读取表达式(blIt0)部分后将返还一个与bl维数相同的数组,其中bl值为负的区域返回值为1;其他部分返回值为0,因此在乘以替换值-999时,相当于只对那些满足条件的像元有影响。第二个关系运算符(blge0)是对第一个的补充一一找出那些值为正或0的像元,乘以它们的初始值,然后再加入替换值后的数组中。这个用法可以扩展到两个图像中,比如图

3、像1中值大于220(有云部分)用图像2中对应的像素值代替,其余保留图像1中的值,表达式就可以写成:(blIt220)*b2+(blle220)*bl(第一个应该是gt)类似的使用数组运算符的表达式为波段运算提供了很强的灵活性。下表中描述了BandMath工具中常用的IDL数组操作函数,详细介绍,请参阅IDLReferenceGuideo种类基本运算三角函数操作函数加(+)、减(-)、乘(*)、除(/)正弦sin(x)、余弦cos(x)、正切tan(x)反正弦asin(x)、反余弦acos(x)、反正切atan(x)双曲正弦sinh(x)、双曲余弦cosh(x)、双曲正切tanh(x)关系和逻辑

4、运算符小于(LT)、小于等于(LE)、等于(EQ)、不等于(NE)、大于等于(GE)、大于(GT)AND、OR、NOT、XOR最小值运算符()其他数学函数指数和自然指数(exp(x)自然对数(alog(x)以10为底的对数(aloglO(x)整型取整round(x)、ceil(x)、和floor(x)平方根(sqrt(x)绝对值(abs(x)ENVI波段运算的函数和实例波段运算(BandMath)BandMathTM功能允许你处理导致单个波段输出的复杂表达式。这些数学表达式也可以应用于一个多波段文件中的所有波段,providing“FileMath”。关于使用波段运算的更多信息,请参阅ENVI

5、Programmer*sGuide第29页的“BandMathBasics”。可利用波段运算功能(AvailableBandMathFunctions)BandMath功能为用户提供一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。该功能的能力与IDL语言的能力直接相关。可用的函数包括但不仅限于表4-2中列出的数学表达式。SeriesandScalar数学加(+)减(-)乘(*)除(/)最小运算符(三角函数其它波段运算选项正弦(sin(x)余弦(cos(X)正切(tan(x)反正弦(asin(x)反余弦(acos(x)反正切关系运算符(EQ、NE、LE、LT、GE、G

6、T)逻辑运算符(AND、OR、XOR、NOT)类型转换函数(byte,fix,long,float,double,complex)IDL返回数组结果的函数IDL返回数组结果的程序UserIDL函数和程序()绝对值(abs(x)平方根(sqrt(x)指数(D自然指数(exp(x)自然对数(alog (x)以10为底的对数(aloglO (x)(atan(x)双曲正弦(sinh(x)双曲余弦(cosh(x)双曲正切(tanh(x)表4-2:一些可用的波段运算函数。注意一些有效的IDL表达式要求整个输入数组存在于内存中,它可以不必与ENVItiling操作相兼容。BandMath对话框1 .选择Ba

7、sicToolsBandMath.将出现BandMath对话框。假如运算结果是一个二维数组,它将接受任何有效的IDL数学表达式、函数或程序。2 .在标签为“Enteranexpression:0的文本框内,输入变量名(将被赋值到整个图像波段或可能应用到一个多波段文件中的每个波段)和所需要的数学运算符。变量名必须以字符“b”或B”开头,后面跟着5个以内的数字字符。实例:若你想计算三个波段的平均值,数学方程式:(float(bl)+float(b2)+float(b3)/3.0可以输入到文本框中。该表达式中使用的三个变量,“bl”是第一个变量,“b2”是第二个变量,“b3”是第三个变量。注意,在本

8、例中,IDL的浮点型函数用来防止计算时出现字节溢出错误。3 .一旦一个有效的表达式被输入,点击“0K”处理。将出现Variable/BandNamePairings对话框。请参见以下部分。,要重新使用、保存或取消任何以前应用的数学表达式:1 .点击显示在“PreviousExpression:M列表中的任何表达式,把它导入到uEnteranexpression:n文本区中。2 .一旦被导入,点击“0K”,把该表达式应用到一组新的波段。将出现Variable/BandNamePairings对话框。请见下列的详细向导。,要把表达式保存到一个输出文件,点击“Save”,然后当出现EnterOutp

9、utFilename对话框时,键入输出文件名。为了保持一致,输出文件名应该指定扩展名为.exp.要恢复原先保存的表达式,点击“Restore”,然后选择适当的文件名。该表达式将显示在“PreviousExpression:0列表中。要清除所有原先的表达式,点击“Clear图4-13:BandMath对话框。Variable/BandNamePairings对话框Variable/BandNamePairings对话框允许你从一个输入波段列表中,把波段赋值给输入在“Enteranexpression:文本框中的变量。要把一个值赋给原先实例中的变量“bl”:1 .在标签为Variablesused

10、inexpression:n的文本框内,点击表达式“Bl”02.在标签为“可利用波段列表:”的列表中,点击所需要的波段。注意,一旦第一个波段被选择,只有那些相同空间大小的波段被显示在波段列表中。3.按照同种方法,为“B2”、“B3”等赋予一个值。要把一个多波段图像赋值给一个或所有变量:1. 点击“MapvariabletoInputfile2. 使用标准的ENVI文件选择步骤,选择一个文件(这可视为“FileMath”)。所选择的文件可以是波谱子集,但是若一个以上的文件被使用,它们必须有相同的波段数。通过数学表达式修改的文件数学(filemath),一个多波段输出图像产生。3. 一旦所有变量被定义,标准的ENVI输出对话框显示在Variable/BandsPairings对话框的底部。要选择一个空间子集:1 .点击uSpatialSubset”。2 .将出现标准的FileSpatialSubset对话框(第145的“StandardizedENVISpatialSubsetting)。系统默认值被设置为处理整个空间场景。要把结果输出到一个文件或内存,选择“File”或“Memory”切换按钮。若选择输出到一个文件,键入一个输出文件名,或使用“Choose”按钮选择一个文件名,然后点击“OK”o结果图像被显示在可利用波段列表中。感谢您的阅读,祝您生活愉快。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号