波段运算(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 数学 | 三角函数 | 其它波段运算选项 |
加 | 正弦 | 关系运算符 |
减 | 余弦 | 逻辑运算符 |
乘 | 正切 | 类型转换函数(byte, fix,long, float, double,complex) |
除 | 反正弦 | IDL 返回数组结果的函数 |
最小运算符 | 反余弦 | IDL 返回数组结果的程序 |
最大运算符 | 反正切 | User IDL 函数和程序 |
绝对值 | 双曲正弦 |
|
平方根 | 双曲余弦 |
|
指数 | 双曲正切 |
|
自然指数 |
|
|
自然对数 |
|
|
以10为底的对数 |
|
|
表 4-2: 一些可用的波段运算函数。
注意
一些有效的 IDL 表达式要求整个输入数组存在于内存中,它可以不必与 ENVI tiling 操作相兼容。
Band Math 对话框 1. 选择
Basic Tools > Band Math.
将出现 Band Math 对话框。假如运算结果是一个二维数组,它将接受任何有效的 IDL数学表达式、函数或程序。
2. 在标签为 “Enter an expression:” 的文本框内,输入变量名(将被赋值到整个图像波段或可能应用到一个多波段文件中的每个波段)
和所需要的数学运算符。
变量名必须以字符 “b” 或 “B” 开头,后面跟着 5 个以内的数字字符。
实例:
若你想计算三个波段的平均值,数学方程式:
(float(b1)+float(b2)+float(b3))/3.0
可以输入到文本框中。该表达式中使用的三个变量,“b1” 是第一个变量,“b2” 是第二个变量,“b3” 是第三个变量。注意,在本例中,IDL 的浮点型函数用来防止计算时出现字节溢出错误。
3. 一旦一个有效的表达式被输入,点击 “OK”处理。
将出现 Variable/Band Name Pairings 对话框。请参见以下部分。
·
要重新使用、保存或取消任何以前应用的数学表达式:
1. 点击显示在 “Previous Expression:” 列表中的任何表达式,把它导入到 “Enter an expression:” 文本区中。
2. 一旦被导入,点击 “OK”,把该表达式应用到一组新的波段。
将出现 Variable/Band Name Pairings 对话框。请见下列的详细向导。
·
要把表达式保存到一个输出文件,点击 “Save”,然后当出现 Enter Output Filename对话框时,键入输出文件名。
为了保持一致,输出文件名应该指定扩展名为 .exp 。
·
要恢复原先保存的表达式,点击 “Restore”,然后选择适当的文件名。
该表达式将显示在 “Previous Expression:” 列表中。
·
要清除所有原先的表达式,点击 “Clear”。
图 4-13: Band Math 对话框。
Variable/Band Name Pairings 对话框Variable/Band Name Pairings 对话框允许你从一个输入波段列表中,把波段赋值给输入在“Enter an expression:” 文本框中的变量。
·
要把一个值赋给原先实例中的变量 “b1”:
1. 在标签为 “Variables used in expression:” 的文本框内,点击表达式 “B1”。
2. 在标签为 “可利用波段列表:” 的列表中,点击所需要的波段。
注意,一旦第一个波段被选择,只有那些相同空间大小的波段被显示在波段列表中。
3. 按照同种方法,为 “B2”、“B3” 等赋予一个值。
·
要把一个多波段图像赋值给一个或所有变量:
1. 点击 “Map variable to Input file”。
2. 使用标准的 ENVI 文件选择步骤,选择一个文件(这可视为 “File Math”)。
所选择的文件可以是波谱子集,但是若一个以上的文件被使用,它们必须有相同的波段数。
通过数学表达式修改的文件数学(file math),一个多波段输出图像产生。
3. 一旦所有变量被定义,标准的 ENVI 输出对话框显示在 Variable/Bands Pairings 对话框的底部。
·
要选择一个空间子集:
1. 点击 “Spatial Subset”。
2. 将出现标准的 File Spatial Subset 对话框 (第 145 的 “Standardized ENVI Spatial Subsetting”)。系统默认值被设置为处理整个空间场景。
·
要把结果输出到一个文件或内存,选择 “File” 或 “Memory” 切换按钮。
·
若选择输出到一个文件,键入一个输出文件名,或使用 “Choose” 按钮选择一个文件名,然后点击 “OK”。
结果图像被显示在可利用波段列表中。