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

上传人:牧羊曲112 文档编号:3623255 上传时间:2023-03-14 格式:DOCX 页数:7 大小:39.28KB
返回 下载 相关 举报
波段运算工具中常用的函数和实例.docx_第1页
第1页 / 共7页
波段运算工具中常用的函数和实例.docx_第2页
第2页 / 共7页
波段运算工具中常用的函数和实例.docx_第3页
第3页 / 共7页
波段运算工具中常用的函数和实例.docx_第4页
第4页 / 共7页
波段运算工具中常用的函数和实例.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《波段运算工具中常用的函数和实例.docx》由会员分享,可在线阅读,更多相关《波段运算工具中常用的函数和实例.docx(7页珍藏版)》请在三一办公上搜索。

1、波段运算工具中常用的函数和实例波段运算工具中常用的函数 BandMath工具能够方便的执行图像中各个波段的加、减、乘、除、三角函数、指数、对数等数学函数计算,也可以使用IDL编写的函数。BandMath工具使用函数都是基于IDL的数据组运算符。 IDL的数组运算符使用方便且功能强大。它们可以对图像中的每一个像元进行单独检验和处理,而且避免了FOR循环的使用。数组运算符包含关系运算符、Boolean运算符和最小值、最大值运算符。这些特殊的运算符对图像中的每个像元同时进行处理,并将结果返还到与输入图像具有相同维数的图像中。例如:要找出所有负值像元并用值-999代替它们,可以使用如下的波段运算表达式

2、: *+* b1 关系运算符对真值返回值为1,对假值返回值为0。系统读取表达式部分后将返还一个与b1维数相同的数组,其中b1值为负的区域返回值为1;其他部分返回值为0,因此在乘以替换值-999时,相当于只对那些满足条件的像元有影响。第二个关系运算符是对第一个的补充找出那些值为正或0的像元,乘以它们的初始值,然后再加入替换值后的数组中。这个用法可以扩展到两个图像中,比如图像1中值大于220用图像2中对应的像素值代替,其余保留图像1中的值,表达式就可以写成: *b2+* b1 (第一个应该是gt) 类似的使用数组运算符的表达式为波段运算提供了很强的灵活性。下表中描述了BandMath工具中常用的I

3、DL数组操作函数,详细介绍,请参阅IDL Reference Guide。 种类 基本运算 三角函数 操作函数 加、减、乘、除 正弦sin、余弦cos、正切tan 反正弦asin、反余弦acos、反正切atan 双曲正弦sinh、双曲余弦cosh、双曲正切tanh 关系和逻辑运算符 小于、小于等于、等于、不等于、大于等于、大于 AND、OR、NOT、XOR 最小值运算符和最大值运算符 其他数学函数 指数和自然指数) 自然对数) 以10为底的对数) 整型取整round、ceil、和floor 平方根) 绝对值) ENVI 波段运算的函数和实例 波段运算 Band MathTM 功能允许你处理导致

4、单个波段输出的复杂表达式。这些数学表达式也可以应用于一个多波段文件中的所有波段,providing “File Math”。 关于使用波段运算的更多信息,请参阅 ENVI Programmers Guide 第 29 页的 “Band Math Basics”。 可利用波段运算功能 Band Math 功能为用户提供一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。该功能的能力与 IDL 语言的能力直接相关。可用的函数包括但不仅限于 表 4-2 中列出的数学表达式。 Series and Scalar 数学 加 减 乘 除 最小运算符 最大运算符 三角函数 其它波段运

5、算选项 正弦 ) 余弦 ) 正切 ) 反正弦 ) 反余弦 ) 反正切 关系运算符 逻辑运算符 类型转换函数 IDL 返回数组结果的函数 IDL 返回数组结果的程序 User IDL 函数和程序 绝对值 ) 平方根 ) 指数 自然指数 ) 自然对数 ) 以10为底的对数 ) ) 双曲正弦 ) 双曲余弦 ) 双曲正切 ) 表 4-2: 一些可用的波段运算函数。 注意 一些有效的 IDL 表达式要求整个输入数组存在于内存中,它可以不必与 ENVI tiling 操作相兼容。 Band Math 对话框 1. 选择 Basic Tools Band Math. 将出现 Band Math 对话框。假如

6、运算结果是一个二维数组,它将接受任何有效的 IDL数学表达式、函数或程序。 2. 在标签为 “Enter an expression:” 的文本框内,输入变量名 和所需要的数学运算符。 变量名必须以字符 “b” 或 “B” 开头,后面跟着 5 个以内的数字字符。 实例: 若你想计算三个波段的平均值,数学方程式: +float+float)/3.0 可以输入到文本框中。该表达式中使用的三个变量,“b1” 是第一个变量,“b2” 是第二个变量,“b3” 是第三个变量。注意,在本例中,IDL 的浮点型函数用来防止计算时出现字节溢出错误。 3. 一旦一个有效的表达式被输入,点击 “OK”处理。 将出现

7、 Variable/Band Name Pairings 对话框。请参见以下部分。 要重新使用、保存或取消任何以前应用的数学表达式: 1. 点击显示在 “Previous Expression:” 列表中的任何表达式,把它导入到 “Enter an expression:” 文本区中。 2. 一旦被导入,点击 “OK”,把该表达式应用到一组新的波段。 将出现 Variable/Band Name Pairings 对话框。请见下列的详细向导。 要把表达式保存到一个输出文件,点击 “Save”,然后当出现 Enter Output Filename对话框时,键入输出文件名。 为了保持一致,输出文

8、件名应该指定扩展名为 .exp 。 要恢复原先保存的表达式,点击 “Restore”,然后选择适当的文件名。 该表达式将显示在 “Previous Expression:” 列表中。 要清除所有原先的表达式,点击 “Clear”。 图 4-13: Band Math 对话框。 Variable/Band Name Pairings 对话框 Variable/Band Name Pairings 对话框允许你从一个输入波段列表中,把波段赋值给输入在“Enter an expression:” 文本框中的变量。 要把一个值赋给原先实例中的变量 “b1”: 1. 在标签为 “Variables us

9、ed in expression:” 的文本框内,点击表达式 “B1”。 2. 在标签为 “可利用波段列表:” 的列表中,点击所需要的波段。 注意,一旦第一个波段被选择,只有那些相同空间大小的波段被显示在波段列表中。 3. 按照同种方法,为 “B2”、“B3” 等赋予一个值。 要把一个多波段图像赋值给一个或所有变量: 1. 点击 “Map variable to Input file”。 2. 使用标准的 ENVI 文件选择步骤,选择一个文件。 所选择的文件可以是波谱子集,但是若一个以上的文件被使用,它们必须有相同的波段数。 通过数学表达式修改的文件数学,一个多波段输出图像产生。 3. 一旦所有变量被定义,标准的 ENVI 输出对话框显示在 Variable/Bands Pairings 对话框的底部。 要选择一个空间子集: 1. 点击 “Spatial Subset”。 2. 将出现标准的 File Spatial Subset 对话框 。系统默认值被设置为处理整个空间场景。 要把结果输出到一个文件或内存,选择 “File” 或 “Memory” 切换按钮。 若选择输出到一个文件,键入一个输出文件名,或使用 “Choose” 按钮选择一个文件名,然后点击 “OK”。 结果图像被显示在可利用波段列表中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号