2022年遥感影像间的运算 .pdf
红色的字表示不知道到底对不对,你们看一下嘛!实验名称遥感影像间的运算一、实验目的1、掌握遥感影像间的基本的算术运算原理和方法(加、减、乘、除);2、掌握遥感影像间的基本的逻辑运算及位运算原理和方法(逻辑或(OR) 、逻辑与(AND )逻辑非( NOT ) ) ;3、分析遥感影像间的算术运算和逻辑运算的效果和作用。二、实验内容1、对同一地区的不同波段或者同一波段不同时期的遥感影像进行简单的算术运算(加、减、乘、除) ;2、对同一地区的不同波段或者同一波段不同时期的遥感影像进行简单的逻辑运(AND 、OR、NOT)或者位运算(AND 、OR、 XOR、NOT ) ;3、分析遥感影像间的算术运算和逻辑运算的效果和作用。4、只需进行两种算术运算和两种逻辑运算的操作,具体选择哪种运算可以自己定夺(此次实验本组进行加、减算术运算和逻辑与运算以及进行异或运算)。三、仪器设备及实验数据电脑一台, Widows XP/2000 操作系统,遥感影像处理软件(ENVI ) , step_01.jpg、step_02jpg 、ct_32 副本。 bmp 、 ct_33 副本 .tif。四、基本原理公式 1 是多波段影像间的算术运算和逻辑运算的通式。),(),(1yxfyxg),(2yxf公式 1 其中:ff21,代表输入的两幅单波段影像;g 表示输出影像;表示加减乘除运算或者由其组合而形成的复杂的代数运算,也可以表示AND 、OR 、NOT等逻辑运算符或者位运算符号。(一)加法运算miiBmB11通过加法运算可以加宽波段,如绿色波段和红色波段图像相加可以得到近似全色图像;而绿色波段,红色波段核红外波段图像相加可以得到全色红外图像。(二)减法运算名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - YXBBB其中ByBx,为两个不同波段的图像或者不同时相相同一波段图像。当为两个不同波段的图像时,通过减法运算可以增加不同地物间光谱反射率以及在两个波段上变化趋势相反时的反差。而当为两个不同时相相同一波段图像相减时,可以提取地面目标的变化信息。当用红外波段与红波段图像相减时,即为植被指数,即RIRVIBBI(三)乘法运算mmiiBB11通过乘法运算结果与加法运算结果类似。(四)除法运算ByBxB通过比值运算能压抑因地形坡度和方向引起的辐射量变化,消除地形起伏的影响; 也可以增强某些地物之间的反差,如植物、 土壤、 和水在红色波段与红外波段图像上反射率是不同的,通过比值运算可以加以区分。(五)逻辑运算二进制数 1 和 0 在逻辑上可以代表“真”与“假”、“是”与“非”、“对”与“错” 、“有”与“无”, 这种具有逻辑属性的变量就称为逻辑变量。逻辑变量之间的运算称为逻辑运算。逻辑运算只有两种结果,用二进制表示就是0 和 1,表现在图像的显示上就是黑和白,0 表示黑, 1表示白。 当然,在彩色图像上,会由于红绿蓝三种颜色的成分不同会形成彩色,因为三种加色要么是两两等比例相加(都为1) ,要么是三种等比例相加,因而,显示的色彩除了红绿蓝三种颜色,还有青、品、黄、黑、白。逻辑运算不会出现其他颜色。在逻辑运算中, 不为 0 则为真, 都用 1 表示。 进行逻辑与运算时,只有全为真时结果才为真; 而逻辑或运算中,只要一个为真结果就为真。如25 与 0 进行逻辑与运算,25 不为 0,为真( 1) ,0 为 0,为假( 0) ,逻辑与运算结果为0。若 25 与 0进行逻辑或运算,25 不为 0,为真( 1) ,0 为 0,为假( 0) ,逻辑或运算只要有一个为真就为真,因而运算结果为1。(六)异或运算),(),(),(yxByxAyxC一般在图像中每个像素有RGB 三个通道,各个通道可以表示0255 级灰度,每个通道可以用八位二进制表示,如,R:00000000,G :00000000,B:00000000,表示一个呈现为纯黑色的点。所谓异或运算是指相应位相异则取1,否则取 0,如图像a 和 b 进行异或运算得到图像c:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 图像 a(m ,n)为 R :00000000,G:00000000,B:00000000 图像 b(m ,n)为 R :01010101,G:01010101,B:01010101 则异或结果为:图像 c(m ,n)为 R :01010101,G:01010101,B:01010101 ENVI中异或运算可用下列函数表达:not (b1 and b2)or(not b1)and(not b2) 五、实验步骤及其结果分析(一)加法运算1、打开两幅原始影像,01-step01.jpg(Memory1)和 01-step02.jpg(Memory2),如图 1和图 2 所示:图 1 图 2 图 3 2、选择 Basical ToolsBand Math,将出现 Band Math 对话框,如图3 所示:(1)要把表达式保存到一个输出文件,点击“Save” ,然后当出现Enter Output Filename对话框时,键入输出文件名,为了保持一致,输出文件名应该指定扩展名为 .exp 。(2)要恢复原先保存的表达式,点击“Restore ” ,然后选择适当的文件名,该表达式将显示在“Previous Expression: ”列表中。(3)要清除所有原先的表达式,点击“Clear ” 。(4)若要删除某个表达式,请选中该表达式,点击“Delete ” 。3、在标签为“ Enter an expression:”的文本框内,输入变量名(将被赋值到整个图像波段或可能应用到一个多波段文件中的每个波段)和所需要的数学运算符,如本例中输入的是“ b1+b2” 。4、 一旦一个有效的表达式被输入,点击 OK处理将出现Variable to Band Name Pairings对话框, 如图 4 所示。其中“EXP : ”文本框内时所选择的有效的表达式,“Variables use in expression”表示表达式中所采用的变量,“b1”是第一个变量, “b2”是第二个变量,变量名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 可以在下面的列表框“Available Bands List ”中进行选择,若要把一个多波段图像赋值给一个或所有变量,则点击“Map Variable to Input File ”后再进行选择。先选择Memory1为变量 b1,单击 OK ,然后用同样的方法选择Memory2为变量 b2。要把结果输出到一个文件或内存, 则选择“File ” 或“Memory ” 切换按钮, 本次实验中都选择“ Memory ”。然后点击 OK按钮,再从“ Available Bands List”列表框将其打开,便得到运算后的结果影像图 5。图 4 图 5 图 6 5、结果分析:(1)图像的加法运算可以去除叠加性噪声;生成图像的叠加效果。(2)图像的加法运算可以用面向对象的方法了解其计算过程。在Memory1图像上任意一处双击,出现如图6 的界面。图中(150,100)表示行列号,Data 后显示该像元的灰度值为 R:117 G :97 B :72。把鼠标移动到Memory2显示窗口上,找到与Memory1相对应的位置,即行列号为(150, 100) ,其灰度值为R:117 G:97 B :72。将对应位置上的灰度值进行相加运算: R: 117+117=234 G: 97+97=194 B: 72+72=144 将鼠标移动到结果影像窗口,找到与 Memory2和 Memory1对应位置的像元,该像元经过加法运算后得到的灰度值为R:234 G:194 B:144,与计算结果相同。由此可知, 图像的加法运算是按照某种顺序将对应位置上像元的灰度值进行相加,然后把得到的值赋给相应的像元。图像的灰度值的范围是0-255 ,如果相应两位置上的灰度值相加大于255,则减去 256。如一幅图像某像元灰度为R:164 G :122 B :74,相对应的另一灰度值为R:182 G:214 B :252,进行加法运算结果如下: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - R: 164+182=346 G: 122+214=336 B: 74+252=326 结果影像相应像元的灰度应为:R: 346-256=90 G : 336-256=80 B: 326-256=70 即结果影像显示的灰度值应为R :90 G:80 B :70。(二)减法运算1、打开两幅原始影像,01-step01.jpg(Memory1 )和01-step02.jpg(Memory2 ) ,如图 1、图 2 所示。2、选择 Basical ToolsBand Math,将出现 Band Math 对话框。3、在 Band Math 对话框的“ Enter an expression”文本框内,输入变量名和所需要的数学运算符,本次实验输入的是“b2-b1 ” 。4、表达式输入后点击OK ,将出现 Variable to Band Name Pairings对话框,单击“Map Variables to Input File ” 。先选择 Memory2为变量 b2,单击 OK ,然后用同样的方法选择Memory1为变量 b1。选择输出结果到Memory ,其结果影像如图7 所示。图 7 图 8 5、结果分析:在结果影像中仅出现两幅图像的不同之处,相同的地方用黑色来显示,由此可知, 图像相减的结果可以显示两图像的差异,可以去除不需要的叠加性图案,可以用来计算物体边界的梯度。计算过程在计算机的内部完成,但我们可以借助可视化的效果知道它是如何完成运算的。在 Memory2图像上任意一处双击,出现如图8 的界面。图中(174,62)表示行列号,Data 后显示该像元的灰度值为R:182 G:214 B :252。把鼠标移动到Memory1显示窗口上,找到与 Memory2 相对应的位置,即行列号为(174,62) ,其灰度值为R:149 G:116 B :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 81。将对应位置上的灰度值进行相减运算: R: 182-149=33 G: 214-116=98 B: 252-81=171 将鼠标移动到结果影像窗口,找到与 Memory2和 Memory1相对应的像元, 该像元经过减法运算后得到的灰度值为R: 33 G:98 B :171,与计算结果相同。由以上分析可知, 图像的减法运算就是按照某种顺序对相对应位置上像元的灰度值进行相减,然后把得到的值赋给相应的像元。两幅原始图像中相同的地方在结果影像中都是黑色的,那是因为, 相同的地方所对应的灰度值也是一样的,两个灰度值相减得到的值为0,结果影像中的灰度值为0,也就显示为黑色。(三)逻辑与运算1、打开两幅原始影像(如图1 和图 2) 。2、选择 Basical ToolsBand Math,在 Band Math 对话框的“ Enter an expression”文本框内, 输入变量名和所需要的数学运算符,本次实验输入的是“logical_and(b1,b2)” 。3、表达式输入后点击OK ,将出现 Variable to Band Name Pairings对话框,单击“ Map Variables to Input File ” ,先选择Memory1为变量 b1,单击 OK ,然后用同样的方法选择 Memory2为变量 b2。选择输出结果到Memory ,其结果影像如图9 所示。其中左图为主窗口影像,右图为Zoom窗口影像。图 9 4、结果分析:结果影像中只有白、红、黄、青四种颜色,其中白色占主导,没有黑色。逻辑与运算只有都为真时才为真 (1) ,红绿蓝三色等比例相加才形成白色。说明图中白色部分所对应的原始影像的相应位置上的红绿蓝灰度值均不为0,逻辑与运算结果均为1,因而呈白色。没有黑色是因为原始影像中并没有灰度值为0 的像元。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 图中有一个黄色的像元,双击,得到该像元的行列号为(123,106) ,灰度值为R:0,G :1,B:1。在两幅原始影像中找到相应的像元,得到它们的灰度值,如图10,图 11 所示:图 10 图 11 对它们进行逻辑与运算:R: 00=0 G : 2929=1 B: 2929=1 可知,红色为0,所以没有红色,绿色和蓝色都为1,二者等量相加为青色,因而该像元显示为青色。用同样的方法可以分析图中的黄色和红色。(四)异或运算1、打开 ct_32 副本 .bmp 和 ct_33 副本.tif,如图 12, 图 13 所示:图 12 图 13 2、选择 Basical ToolsBand Math,在 Band Math 对话框的“ Enter an expression”文本框内,输入变量名和所需要的数学运算符,本次实验输入的表达式如下: not(b1 and b2)or(not b1)and(not b2) 表达式输完后,定义变量b1 为 ct_32副本.bmp, b2 为 ct_33 副本.tif,选择输出结果到Memory ,其结果影像如图14 所示 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 4、结果分析:异或运算相异的为真(1) ,相同的为假( 0) ,因而,两幅图像相同的地方经过异或运算后,其灰度值为0,以黑色显示,结果影像中只显示了两图像的不同之处。这有点类似于图像的相减,其不同之处是结果影像的灰度值计算方法。两原始影像某对应像元(110,55)的灰度值如下所示: ct_32副本 .bmp 影像( 110,55)位置 R: 205,G:201,B:210 ct_33 副本 .tif影像( 110,55)位置 R: 123,G:114,B:118 转化为二进制进行表示:ct_32 副本 .bmp 影像( 110,55)位置 R: 11001101,G:11001001,B:11010010 ct_33 副本 .tif影像( 110,55)位置 R: 01111011,G:01110010,B:01110110 从理论上来说,进行异或运算后,该像素的数据应是: R:10110110,G :10111011, B:10100100 将其转化为十进制:R: 182,G:187,B:164 在结果影像上找到相应的像元,读取数据,其结果与理论计算值一致。六、实验中所遇到的问题及其解决方法1、启动 ENVI 后,先打开要用到的原始影像,否则之后的运算无法运行。2、进行波段运算时,如果输入的是双目运算符,则必须至少打开两个单波段的遥感影像,否则操作不予进行。3、用不同的波段进行运算,得到的结果是不一样的。 4、变量名必须以字符“b” 或 “B” 开头,后面跟着5 个以内的数字字符,如果超过 5 个数字,则提示表达式无效。5、位运算符有类型的限制,有时必须进行类型强制转换。6、在进行异或运算时,要准确进行二进制和十进制之间的转换,否则会出错。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -