资源描述:
《基于idl的遥感影像波段运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于IDL的遥感影像波段运算1.IDL语言特征在IDL中,矩阵是按照列的方式处理的,即矩阵是以n列、m行的方式表示的,这一点与Fortran语言一样,但与C语言(按m行、n列的维度来标记)表示矩阵的方式不同。只有熟悉IDL的数据存储、处理的特点,才能方便地进行分析。以300列、200行的遥感数据band1为例,其数据的记录特征如下:像元坐标亮度矩阵1,12,1……300,19294……901,22,2……300,29692……91…………………………1,2002,200……300,20098101……90IDL图形坐标band1DN值
2、坐标图1.IDL中像元坐标与亮度矩阵的对应关系(1)数据按列存储;最先存储的是第一列的数据(图象第一列的像元亮度值),接着是第二列,直至最后一列。(show:print,data[0,*])(2)采用顺序显示数据的方式。将第一行的亮度值按顺序从左到右以行的方式显示或存储,不管band1矩阵有多少行、多少列,总是先显示、存储完第一行,然后是下一行。由于IDL的默认显示宽度是80列,所以在输出窗口中要用几行才能显示完矩阵的第一行亮度值。然后另起一行显示亮度矩阵的下一行值,直到最后一行。这一点对于图象显示和分析相当重要。复习:IDL矩阵的显
3、示方式,data(show:print,data[*,0])(3)默认情况下,图象数组的第一行和第一个元素显示在屏幕的左下角。后面的行将从下往上显示。在图形窗口显示图象时,图象的每一个元素在屏幕中显示为一个像素[1]。在IDL中图象是从下往上画的。即把band1亮度矩阵的第一行值显示在图象最下端的一行像元中,把band1亮度矩阵的最后一行值显示在图象最上端的一行像元中。这是图象显示最重要的特征。区别两幅图象的显示效果:(tvscl,data)与(tvscl,data,300,0,order=1)(4)矩阵转置与图象的关系将矩阵band
4、1转置,(print,(transpose(data))[*,0]),打印转置矩阵的第一行,它在band1中是哪行或哪列?(print,transpose(data)tvscl,data,200,0,order=1结论:按行显示的数据DN,按列显示;按列显示的DN数据,按行显示2.遥感数据的处理与分析31通用的栅格数据存储格式BSQ:波段顺序存储格式。每行数据后面紧接着同一波谱波段的下一行数据。这种格式最适于对单个波谱波段中任何部分的空间(X,Y)存取。每个tile是单个波段的一个空间子集。BIP:波段按像元交叉格式。图像按顺序存储第
5、1个像元所有的波段,接着是第2个像元的所有波段,然后是第3个像元的所有波段,等等,交叉存取直到像元总数为止。这种格式为图像数据波谱(Z)的存取提供最佳性能。每个tile是一幅图象中所有波段行的所有像素。BIL:波段按行交叉格式。按BIL格式存储的图像先存储第一个波段的第一行,接着是第二个波段的第一行,然后是第三个波段的第一行,交叉存取直到波段总数为止。每个波段随后的行按照类似的方式交叉存取。这种格式提供了空间和波谱处理之间一种折衷方式,它是大多数ENVI处理任务中所推荐的文件格式。每个tile是一幅图像所有波段的一行。32栅格数据输入
6、以BSQ格式的图象为例。假设有一幅BSQ格式的7波段TM影象“2003_sw.img”,需要计算各波段亮度值的基本统计信息(包括:最大值、最小值、均值、均方差、倾斜度和平坦度)。遥感数据其实就是像元的亮度值(也叫做DN值),这与它有多少个波段、是多光谱数据还是高光谱数据都没有关系。这里分析遥感数据的目的,是为了帮助理解、纠正易于混淆的栅格数据存储方法和数据分析方法。影象“subset_2003.img”的大小为300×200(即:lines:200,Samples:300)。以band1波段为例,在IDL的图形显示系统中,左上角坐标为
7、(1,1)。利用程序把band1的亮度值读入IDL环境中,构造成一个亮度矩阵(见图1)。在IDL的图形系统中,图象左上角的坐标为(1,1),右下角(X,Y)坐标值最大。在图1中,图象band1的像元坐标左上角为(1,1),右下角为(300,200),坐标对中的X为列号,Y为行号,像元数量为300列200行。与像元一一对应,亮度矩阵是band1的亮度值,每个像元一个值,左上角为92,右下角为90。亮度矩阵中的第一行值,与图象中的第一行像元从左到有一一对应,亮度矩阵中的第二行值,与图象中的第二行像元从左到有一一对应,依次类推,直到最后一行
8、。在IDL中打开band1的亮度矩阵并且显示在IDL绘图环境中的时候,要正确地显示图象(见图2),必须要确保亮度矩阵与图象坐标系统的正确关系,如亮度矩阵中的左下三角(或右上三角)一定要严格对应图象像元矩阵的左下三角(或右