ENVI下实用的波段运算(bandmath)工具
分享
ENVI Band Math是一个灵活的图像处理工具,其中许多功能是无法在任何其它的图像处理系统中获得的。由于每个用户都有独特的需求,利用此工具用户自己定义处理算法,应用到在ENVI打开的波段或整个图像中,用户可以根据需要自定义简单或复杂的处理程序。例如:可以对图像进行简单加、减、乘、除运算,或使用IDL编写更复杂的处理运算功能。
波段运算实质是对每个像素点对应的像素值进行数学运算。如图15.1为一个简单波段运算的示意图,运算表达式是三个变量相加,每一个变量对应于一个图像数据,对这三个图像数据求和并输出结果图像。表达式中的每个变量不仅可以对应于单一波段,也可以是一个多波段的栅格文件。例如:在表达式b1+b2+b3中,如果b1是一个多波段图像文件,b2、b3为单一波段,则结果为b1所对应的文件的所有波段分别和b2、b3进行求和。
图15.1 波段运算示意图
Band Math工具
下面以求三个图像数据的和为例介绍Band Math工具的使用。在使用Band Math之前需要将图像数据打开。
(1) 在ENVI主菜单中,选择Basic Tools → Band Math,打开Band Math对话框(图15.2)。
(2) 运算表达式输入框(Enter an expression):b1+b2+b3
(3) 单击OK按钮,打开Variables to Bands Pairings对话框(图15.3),为运算表达式中各个变量赋图像文件或者图像波段。
(4) 在Variables to Bands Pairings对话框中,Variables used in expression列表框中选择变量b1,单击Map variable to Input file按钮,为变量b1指定一个多波段图像文件(注:一旦第一个波段或文件被选中,只有那些具有相同行列数的波段被显示在波段列表中。)。
(5) Variables used in expression列表框中选择一个变量b2,在Available Bands List选择Band4波段,同样方法为b3选择Band5波段。
(6) 单击Choose按钮,选择文件名及路径保存结果,单击OK按钮执行运算。
图15.2 Band Math对话框
图15.3 Variables to Bands Pairings对话框
在Band Math对话框中,以下是其他按钮的功能说明:
使用波段运算需要满足4个基本条件:
1) 必须符合IDL语言书写波段运算表达式
所定义的处理算法或波段运算表达式必须满足IDL语法。不过,书写简单的波段运算表达式无须具备IDL的基本知识,但是如果所感兴趣的处理需要书写复杂的表达式,建议学习用于波段运算的IDL知识。
2) 所有输入波段必须具有相同的空间大小
由于波段运算表达式是根据pixel-for-pixel原理作用于波段的,因此输入波段在行列数和像元大小必须相同。对于有地理坐标的数据,如果覆盖区域一样,但是由于像元大小不一样使得行列数不一致,在进行波段运算前,可以使用Basic Tools →Layer Stacking功能对图像进行调整。
3) 表达式中的所有变量都必须用Bn(或bn)命名
表达式中代表输入波段的变量必须以字母“b”或“B”开头,后跟5位以内的数字。例如:对3个波段进行求和运算的有效表达式可以用以下3种方式书写:
b1 + b2 + b3
B1 + B11 + B111
B1 + b2 + B3
4) 结果波段必须与输入波段的空间大小相同
波段运算表达式所生成的结果必须在行列数方面与输入波段相同。
摘自《ENVI遥感图像处理方法》科学出版社第三次印刷
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100zeaz.html
波段运算实质是对每个像素点对应的像素值进行数学运算。如图15.1为一个简单波段运算的示意图,运算表达式是三个变量相加,每一个变量对应于一个图像数据,对这三个图像数据求和并输出结果图像。表达式中的每个变量不仅可以对应于单一波段,也可以是一个多波段的栅格文件。例如:在表达式b1+b2+b3中,如果b1是一个多波段图像文件,b2、b3为单一波段,则结果为b1所对应的文件的所有波段分别和b2、b3进行求和。
图15.1 波段运算示意图
Band Math工具
下面以求三个图像数据的和为例介绍Band Math工具的使用。在使用Band Math之前需要将图像数据打开。
(1) 在ENVI主菜单中,选择Basic Tools → Band Math,打开Band Math对话框(图15.2)。
(2) 运算表达式输入框(Enter an expression):b1+b2+b3
(3) 单击OK按钮,打开Variables to Bands Pairings对话框(图15.3),为运算表达式中各个变量赋图像文件或者图像波段。
(4) 在Variables to Bands Pairings对话框中,Variables used in expression列表框中选择变量b1,单击Map variable to Input file按钮,为变量b1指定一个多波段图像文件(注:一旦第一个波段或文件被选中,只有那些具有相同行列数的波段被显示在波段列表中。)。
(5) Variables used in expression列表框中选择一个变量b2,在Available Bands List选择Band4波段,同样方法为b3选择Band5波段。
(6) 单击Choose按钮,选择文件名及路径保存结果,单击OK按钮执行运算。
图15.2 Band Math对话框
图15.3 Variables to Bands Pairings对话框
在Band Math对话框中,以下是其他按钮的功能说明:
- 单击 Add to List 按钮,可以将表达式添加到 Previous Band Math Expression 列表中,这个列表还显示未重启 ENVI 之前使用过表达式。
- 单击 Save 按钮可以将列表中的运算表达式保存为外部文件( .exp )。
- 单击 Restore 按钮可以将外部运算表达式文件导入。
- Clear 按钮可以清除列表中的所有运算表达式。
- Delete 按钮可以删除选择的运算表达式。
使用波段运算需要满足4个基本条件:
1) 必须符合IDL语言书写波段运算表达式
所定义的处理算法或波段运算表达式必须满足IDL语法。不过,书写简单的波段运算表达式无须具备IDL的基本知识,但是如果所感兴趣的处理需要书写复杂的表达式,建议学习用于波段运算的IDL知识。
2) 所有输入波段必须具有相同的空间大小
由于波段运算表达式是根据pixel-for-pixel原理作用于波段的,因此输入波段在行列数和像元大小必须相同。对于有地理坐标的数据,如果覆盖区域一样,但是由于像元大小不一样使得行列数不一致,在进行波段运算前,可以使用Basic Tools →Layer Stacking功能对图像进行调整。
3) 表达式中的所有变量都必须用Bn(或bn)命名
表达式中代表输入波段的变量必须以字母“b”或“B”开头,后跟5位以内的数字。例如:对3个波段进行求和运算的有效表达式可以用以下3种方式书写:
b1 + b2 + b3
B1 + B11 + B111
B1 + b2 + B3
4) 结果波段必须与输入波段的空间大小相同
波段运算表达式所生成的结果必须在行列数方面与输入波段相同。
摘自《ENVI遥感图像处理方法》科学出版社第三次印刷
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100zeaz.html
0 个评论
相关问题
- 安装完arcgis10.3后,为何没有Envi tools这个工具箱?
- ENVI中Image to Map中X/Y Pixel Size的参数如何设置?
- arcgis api for javascript 4.0版本中找不到draw工具,如何实现拉框查询、几何查询?
- 求ArcGISMXD批量导出图片工具?
- Engine调用GP工具的两种方式的用法
- 为什么自定义的gp工具不自动将输出结果添加到图层里面?
- 请问如何在C# ArcEngine开发中调用GP工具处理后将数据保存到到任意位置?并读取?
- ArcMap中提取波段信息的方法
- 请问在ArcGIS 10.1 Desktop中,用计算字段工具对地理坐标系(经纬度)数据计算面积,算出的面积是什么面积?这个面积是怎么计算出来的?
- ArcGIS Runtime SDK for Android加载本地影像时,如何对RGB波段进行调整?
- 【Desktop】工具错误码-000200 : 构建地图上下文时出错。参考比例尚未定义。