11以下实验使用can-tmr.img影像一.图像增强转换处理1.PrincipalComponentAnalysis(主成分分析)主成分分析(PCA)用多波段数据的一个线性变换,变换数据到一个新的坐标系统,以使数据的差异达到最大。这一技术对于增强信息含量、隔离噪声、减少数据维数非常有用。ENVI能完成正向的和逆向(正向的PC旋转)正向的PC旋转用一个线性变换使数据差异达到最大。当你运用正向的PC旋转时,ENVI允许你计算新的统计值,或将已经存在的统计项进行旋转。输出值可以存为字节型、浮点型、整型、长整型或双精度型。你也可以基于特征值抽取PC旋转输出的部分内容,生成只有你需要的PC波段的输出。一旦旋转完成,将会出现PC特征值图。显示出每一个输出的PC波段的差异量。PC波段将显示在AvailableBandsList中。ComputeNewStatisticsandRotate(计算新的统计值和旋转)这一选项用于计算数据特征值、协方差或相关系数以及PC正向的旋转。1选择TransformsPrincipalComponentsForwardPCRotationComputeNewStatisticsandRotate.2出现PrincipalComponentsInputFile对话框时,选择输入文件或用标准ENVI选择程序建立子集。3出现ForwardPCRotationParameters对话框时,在“StatsX/YResizeFactor”文本框键入小于1的调整系数,对计算统计值的数据进行二次抽样。键入一个小于1的调整系数,以提高统计计算的速度。例如,在统计计算时,用一个0.1的调整系数将只用到十分之一的像元。4若需要,键入一个输出统计文件名。5点击按钮,选择是否计算“CovarianceMatrix”。计算主成分时,有代表性地要用到协方差矩阵。当波段之间数据范围差异较大时,要用到相关系数矩阵,并且需要标准化。6选用“File”或“Memory”输出。·若选择输出到“File”,在标有“EnterOutputFilename”的文本框里键入要输出的文件名;或用“Choose”按钮选择一个输出文件名。7从“OutputDataType”菜单里,选择需要的输出类型(字节型,整型,无符号整型,长整型,无符号长整型,浮点型,双精度型)。8用下列选项,选择输出PC波段数。·限定输出PC波段数,键入需要的数字,或用“NumberofOutputPCBands”标签附近的按钮确定输出的PC波段数。默认的输出波段数等于输入的波段数。·通过检查特征值,选择输出的PC波段数。A点击“SelectSubsetfromEigenvalues”标签附近的按钮,选择“YES”。特征值将被计算,出现SelectOutputPCBands对话框,列表显示着每一个波段和其相应的特征值。同时也为所有波段显示出每个波段中包含的数据变化的累积百分比。B在“NumberofOutputPCBands”文本框里,键入一个数字或点击按钮,确定输出的波段22数。特征值大的PC波段包含最大量的数据差异。较小的特征值包含较少的数据信息和较多的噪声。有时,为存储磁盘空间,最好仅仅输出特征值大的那些波段。C在SelectOutputPCBands对话框里,点击“OK”。输出的PC旋转将只包含你选择的波段数。例如,如果你选择“4”作为输出的波段数,只有前4个波段会出现在你的输出文件里。9选择上面一个选项以后,在ForwardPCRotationParameters对话框里,点击“OK”为选择的输入文件计算协方差或相关系数和特征值,并进行正向的PC旋转。当ENVI已经处理完毕,将出现PCEigenValues绘图窗口,PC波段将被导入AvailableBandsList中,你可以从列表中选择显示。InversePCRotation(反向PC旋转)将主成分图像变换回到它们的原始数据空间:1选择TransformsPrincipalComponentsInversePCRotation.2当出现标准ENVI选择文件或子集对话框时,选择你的输入文件,并用标准ENVI文件选择程序建立需要的子集。出现另一个文件选择对话框,在当前输入数据目录中,列表显示出了已经存在的统计文件(默认扩展名为.sta)。3用标准ENVI文件选择程序选择前面在正向PC旋转中存储的统计文件。注意在选择反向PC旋转之前,统计文件必须已经存在。4在“Calculateusing”标签附近,选择“CovarianceMatrix”或“CorrelationMatrix”。5选用“File”或“Memory”输出。·若选择输出到“File”,在标有“EnterOutputFilename”的文本框里键入要输出的文件名,或用“Choose”按钮选择一个输出文件名。6从“OutputDataType”下拉菜单里,选择一个数据类型,作为输出文件的数据类型。7点击“OK”运行反向变换。当ENVI已经处理完毕,PC波段将被导入AvailableBandsList中,你可以从列表中选择显示(用标准灰阶或RGB彩色合成方法)。ColorTransfroms(颜色变换)颜色变换将3-波段红、绿、蓝图像变换成一个特定颜色的空间,并且从能从选择的色彩空间转回到RGB。两次变换之间,通过用对比度拉伸,你可以生成一个色彩增强的彩色合成图像。此外,亮度波段值可以被另一个波段代替(通常比较高的空间分辨率),生成一幅合成图像(将一幅图像的色彩特征与另一幅图像的空间特征相结合)。这可以由IHS尖锐化自动完成。由ENVI支持的彩色空间包括“色调,饱和度,数值(HSV)”变换,“(色调,亮度,饱和度(HLS)”变换和“USGSMunsell”变换(作为一个用户函数)。Munsell颜色系统被土壤科学家和地质学家用于描述土壤和岩石的颜色特征。这套颜色系统已经被美国地址勘察部门作了修订,以描绘数字图像的颜色。变换将RGB坐标变成了色彩坐标色调、饱和度和数值。色调变化范围0~360,这里0与360代表蓝,120代表绿,240代表红。饱和度变化范围是0~208,值越高代表颜色越纯。值的变化范围大致是0~512,较高的数代表较亮的颜色。Munsell彩色变换被编入到了ENVI用户函数中,代码作为一个例子被包括了进去)。注意色彩变换需要输入三个波段。这些波段应该被拉伸为字节数据,或能从一个开放的33色彩显示中选择。Forward-toColorSpace(向前到彩色空间)RGBtoHSV这一变换类型允许你将一幅RGB图像变换为HSV彩色空间。生成的RGB值是字节数据,其范围为0到255。运行这一功能必须先打开一个至少包含3个波段的输入文件,或一个彩色显示能用于输入。在彩色显示中用到的拉伸将被用到输入数据。这一功能产生范围为0~360度的色调(红是0度,绿是120度,蓝是240度)、饱和度和值的范围是0~1(浮点型)。1选择TransformsColorTransformsForwardtoColorSpaceRGBtoHSV。2出现RGBtoHSVInput对话框时,从一个显示的彩色图像或AvailableBandsList中选择三个波段进行变换。·从一幅彩色显示中选择你的波段,运用已经显示的拉伸数据。从RGB到HSV输入列表中选择一个显示,如“Display#1”。出现RGBtoHSVParameters对话框时,ENVI自动地从已经选择的窗口里运用RGB波段,并在标有“InputRGBBands”的文本下方列表显示。·你可以用标准ENVI构建子集程序,选择一个空间子集。·从AvailableBandsList中选择你的波段。注意用这一项时,不用拉伸,所有数据都是字节型的。A从RGBtoHSV输入对话框里,选择“AvailableBandsList”。B出现RGBtoHSVInputBands对话框时,从AvailableBandsList中,点击三个需要的波段名,以用在正向的变换中。·你可以用标准ENVI构建子集程序,选择一个空间子集。·重新设置选项,点击“Reset”。C点击“OK”,出现RGBtoHSVParameters对话框。3选择输出到“File”或“Memory”。·若选择输出到“File”,在标有“EnterOutputFilename”的文本框里键入要输出的文件名;或用“Choose”按钮选择一个输出文件名。4点击“OK”开始处理。出现一个状态窗口。当向前变换全部完成时,HSV名字将被存入AvailableBandsList中,在那里可以用标准ENVI灰阶或RGB彩色合成方法显示。RGBtoHLS这一项允许你将RGB图像变换成HLS(色调,亮度,饱和度)彩色空间。这一功能生成的色调范围是0~360度(红为0度,绿为20度,蓝是240度),亮度和饱和度范围为0~1(浮点型)。运行这一功能必须先打开一个至少包含3个波段的输入文件,或一个能用于输入的彩色显示。生成的RGB值是字节数据,其范围为0到255。1选择TransformsColorTransformsForwardtoColorSpaceRGBtoHLS。2出现RGBtoHLSInput对话框时,从一个显示的彩色图像或AvailableBandsList中选择三个波段进行变换。·从一幅彩色显示中选择你的波段,运用已经显示的拉伸数据。从RGB到HLS输入列表中选择一个显示,如“Display#1”。出现RGBtoHLSParameters对话框时,ENVI自动地从已经选择的窗口里运用RGB波段,并在标有“InputRGBBands”的文本下方列表显示。44·你可以用标准ENVI构建子集程序,选择一个空间子集。·从AvailableBandsList中选择你的波段。注意用这一项时,不用拉伸,所有数据都是字节型的。A从RGBtoHLSInput对话框里,选择“AvailableBandsList”。B出现RGBtoHLSInputBands对话框时,从AvailableBandsList中,点击三个需要的波段名(若需要,可以运用一些空间子集),以用在正向的变换中。·你可以用标准ENVI构建子集程序,选择一个空间子集。·重新设置选项,点击“Reset”。C点击“OK”,出现RGBtoHLSParameters对话框。3选择输出到“File”或“Memory”。·若选择输出到“File”,在标有“EnterOutputFilename”的文本框里键入要输出的文件名;或用“Choose”按钮选择一个输出文件名。4点击“OK”开始处理。出现一个状态窗口。当向前变换全部完成时,HLS名字将被存入AvailableBandsList中,在那里可以用标准ENVI灰阶或RGB彩色合成方法显示。USGSMunsellRGBtoHSV1选择TransformsColorTransformsForward-toColorSpaceUSGSMunsellRGBtoHSV。ENVI用户函数“MUNSELL.PRO”将自动被装载和运行。2出现USGSMunsellRGBtoHSVInputFile对话框时,顺序点击三个波段装上,作为RGB。·可以用标准ENVI程序,选择空间子集。·重新设置选项,点击“Reset”。3点击“OK”继续。4出现MunsellHSVOutput对话框时,选择输出到“File”或“Memory”。·若选择输出到“File”,键入要输出的文件名。5点击“OK”开始处理。当变换全部完成时,波段将被存入AvailableBandsList中。Reverse-toRGB(反向到RGB)HSVtoRGB这一项允许你将一幅HSV图像变换成RGB彩色空间。生成的RGB值是字节型数据,范围为0~255。1选择TransformsColorTransformsReversetoRGBHSVtoRGB。2出现HSVtoRGBInput对话框时,从整个AvailableBan