ENVI图像增强实验.docx
《ENVI图像增强实验.docx》由会员分享,可在线阅读,更多相关《ENVI图像增强实验.docx(24页珍藏版)》请在冰豆网上搜索。
ENVI图像增强实验
ENVI图像增强及变换实验指导书:
一、打开.img文件
1.从Windows任务栏选择:
Start>Programs>ENVI3.2>ENVI3.2。
当程序成
功地载入和运行时,出现ENIV主菜单。
2.选择File>OpenImageFile.
当出现EnterDataFilename对话框,点击文件名,再点击“OK”或“Open”以打开选择的文件。
如:
can.img,此时会显示AvailableBandsList窗口.
二、显示单波段的灰白影像和多波段的彩色影像
显示一幅灰阶图象
3.从AvailableBandsList内,选择“GrayScale切”换按钮。
4.
5.
点击需要的波段名,它将显示在一个标签为“SelectedBand:
的”小文本框中。
在窗口底部点击“LoadBand”,来导入波段到显示,并出现一个图像窗口和相应的缩放/滚动窗口。
显示一幅彩色合成图象
1.
从AvailableBandsList内,选择“RGBColor”切换按钮。
2.
在序列中点击所需要显示的红、绿和蓝波段名(或在每个
R、G或B波段使
用切换按钮)。
3.
一旦波段名导入到标签为
“R:
、”“G:
、”“B:
”的文本框中,点击“LoadRGB”来
显示彩色合成图像。
ENVI
用2%的系统默认线性拉伸值来显示所有图像。
三、图像增强:
在灰阶影像和彩色影像上分别利用主窗口的菜单enhance选项下
的linear、linear0-255、linear2%、gaussian、Equalization、square
root各种增强方式的效果,以及熟练掌握并理解interactive
stretching操作和意义。
四、图像变换:
BandRatios(波段比)
1选择Transforms>BandRatios。
2出现BandRatioEntry对话框时,从AvailableBandsList中选择你的分子和分母波段。
你点击的第一个波段将作为“分子”波段,点击的第二个作为“分母”波段。
·要改变你已经选择的波段,点击“Clear”,ENVI将把分子和分母波段都删除掉。
3一旦你已经选择了两个输入波段,点击“EnterPair”建立一个新的波段对,列表显示在
“SelectedRatioPairs中。
”
4点击“
OK”继续,显示
BandRatiosParameters
对话框。
5一旦出现
BandRatiosParameters
对话框,选择下列合适的选项。
·选择一个空间子集,点击
“SpatialSubset,并”用标准
ENVI
空间子集构建程序。
·将比率值以字节形式输出,用
“OutputDataType
”按钮菜单选择
“Byte。
”
ENVI将按照在“Min”和“Max”文本框里键入的数值(0~255),进行拉伸输出比率值。
·要改变字节拉伸比率数据范围,键入新的“Min”和“Max”值。
6选用“File或”“Memory”输出。
在标有“EnterOutputFilename”的文本框里键入要输出的文件名;或用“Choose”按钮选择一个输出文件名。
7点击“OK”开始计算比值。
计算每一个比值时,屏幕上将出现一个状态窗口。
当比率计算已经结束,ENVI
将把比率波段名显示到AvailableBandsList
中。
你可以用标
准ENVI灰阶或RGB彩色合成方法显示它们。
PrincipalComponentAnalysis(
主成分分析)
ForwardPCRotation(
正向的PC
旋转)
1
选择Transforms>PrincipalComponents>ForwardPCRotation>ComputeNewStatistics
andRotate.
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
波段数。
A点击“SelectSubsetfromEigenvalues
标签附近”的按钮,选择“
YES”。
特征值将被计算,出现
SelectOutputPCBands
对话框,列表显示着每一个波段和其相应的
特征值。
同时也为所有波段显示出每个波段中包含的数据变化的累积百分比。
B在“NumberofOutputPCBands文本”框里,键入一个数字或点击按钮,确定输出的波段数。
特征值大的PC波段包含最大量的数据差异。
较小的特征值包含较少的数据信息和较多的噪声。
有时,为存储磁盘空间,最好仅仅输出特征值大的那些波段。
C在
SelectOutputPCBands对话框里,点击“OK”。
输出的
PC旋转将只包含你选择的波段数。
例如,如果你选择“
4”作为输出的波段数,则
只有前
4个波段会出现在你的输出文件里。
9选择上面一个选项以后,在
ForwardPCRotationParameters对话框里,点击“OK”为选
择的输入文件计算协方差或相关系数和特征值,并进行正向的
PC旋转。
当ENVI
已经处
理完毕,将出现PCEigenValues绘图窗口,PC波段将被导入
AvailableBandsList
中,你
可以从列表中选择显示。
InversePCRotation(
反向PC旋转)
将主成分图像变换回到它们的原始数据空间:
1选择
Transforms>PrincipalComponents>InversePCRotation.
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(颜色变换)
Forward-toColorSpace(
向前到彩色空间)
RGBtoHLS
1
选择Transforms>ColorTransforms
>ForwardtoColorSpace
>RGBtoHLS。
2
出现RGBtoHLSInput对话框时,从一个显示的彩色图像或
AvailableBandsList中选择
三个波段进行变换。
·从一幅彩色显示中选择你的波段,运用已经显示的拉伸数据。
从RGB到HLS
输入列表
中选择一个显示,如“Display#1。
”
出现RGBto
HLSParameters对话框时,ENVI自动地从已经选择的窗口里运用
RGB波
段,并在标有
“InputRGBBands”的文本下方列表显示。
·你可以用标准ENVI构建子集程序,选择一个空间子集。
·从AvailableBandsList中选择你的波段。
Reverse-toRGB(反向到RGB)
1选择Transforms>ColorTransforms>ReversetoRGB>HLStoRGB。
2出现HLStoRGBInput对话框时,点击合适的波段名,选择参与变换的波段。
波段名将出现在标有“H”,“L”,“S”(分别代表色调,亮度和饱和度)的文本框里。
·若需要,用标准ENVI构建子集程序建立你的数据子集。
3点击“OK”继续。
4出现HLStoRGBParameters对话框时,选择输出到“File或”“Memory”。
·若选择输出到“File,”键入要输出的文件名,或点击“Choose”按钮,选择一个文件名
5点击“OK”开始处理,出现一个状态窗口。
当反向变换全部完成时,RGB名字将被存入AvailableBandsList中,在那里可以用标准ENVI显示方法显示。
TasseledCap(
缨帽变换)
缨帽变换是一种通用的植被指数,可以被用于
Landsat
MMS或LandsatTM
数据。
对于
LandsatMMS
数据,缨帽变换将原始数据进行正交变换,变成四维空间(包括土壤亮度指
数SBI、绿色植被指数
GVI、黄色成分(stuff)指数
YVI,以及与大气影响密切相关的
non-such指数NSI)。
对于LandsatTM数据,穗帽植被指数由三个因子组成——
“亮度”、
“绿度”与“第三”(
Third)。
其中的亮度和绿度相当于
MSS缨帽的SBI
和GVI,第
三种分量与土壤特征有关,包括水分状况。
1
选择Transforms>TassledCap。
2
出现TasseledCapTransformationInputFile
对话框时,选择输入文件。
(若需要)用标准
ENVI文件选择程序输入文件或空间子集。
3
点击“OK”继续,显示TasseledCapTransformParameters对话框。
4
用下拉菜单,选择
“InputFileType(Landsat”
TM或LandsatMSS)。
5
选择输出到
“File或”“Memory”
·若选择输出到
“File,”在标有“EnterOutputFilename”的文本框里键入要输出的文件名;
或用“Choose”按钮选择一个输出文件名
6点击“OK”开始计算穗帽变换,变换进行时,屏幕上出现一条状态信息。
完成时,ENVI将穗帽波段名输入到
阶或RGB彩色合成方法显示。
AvailableBandsList
中,在那里可以用标准
ENVI
灰
五、滤波(Filtering)
ConvolutionFiltering(
卷积滤波
)
卷积是一种滤波方法,亮度值加权平均的函数)
它产生一幅输出图像(图像上,一个给定像元的亮度值是其周围像元
。
用户选择变换核用于图像列卷积生成一个新的空间滤波图像。
下
面将介绍进行卷积需要的一般配置以及每一种滤波类型的详细情况。
使用卷积滤波
用于滤波的文件选择对话框,不象其它ENVI文件选择对话框,它包括一个“File/Band”箭头切换按钮,这一按钮可以让你选择输入一个文件或输入一个独立的波段。
·选择一个用于卷积滤波处理的文件:
1选择Filter>Convolutions>一种滤波类型。
2出现ConvolutionInputFile对话框时,选择一个输入文件名,若需要可以输入一个空间子集。
·处理单个波段:
1
选择Filter>Convolutions>
一种滤波类型。
2
点击“SelectBy附”近的箭头按钮,选择“Band。
”
这时,在窗口的左边一栏
“SelectInputBand”文本框里出现所有可利用波段的列表。
3通过点击波段名选择需要的波段。
一旦选择了,你还可以选择一个空间子集。
设置卷积参数
卷积滤波需要选择一个变换核的大小。
多数滤波变换核呈正方形,默认的变换核大小是
3
×3。
原始图像卷积结果中“Addingback”部分有助于保持空间联系,代表性地被处理成尖锐化的图像。
在文件选择对话框里,选择好数据以后:
1点击“OK”。
2出现ConvolutionParameters对话框时,在“Size文”本框里键入一个变换核的大小。
注意
一些特别的滤波(如Sobel和Roberts)有自己的默认值,是不能改变的。
选择这些滤波时,不会出现变换核大小的选项。
3对原始图像的“AddBack”部分,在“AddBack
的数(与原始图像的0到100%相对应)。
”文本框里,键入一个
0.0与
1.0之间
·编辑选择的变换核,改变权重值,在对话框低部附近点击“EditKernel”。
出现KernelEdit对话框。
在每个可编辑的文本框里,显示出变换核的值。
选择下列选项。
·改变数值,点击要改变的数值,键入新值。
·重新设置为原始值,点击“Reset。
”
·要存储编辑过的变换核,点击“SaveKernel,”在合适文本框里键入输出文件名。
·要在ConvolutionParameters对话框里记起以前存储的变换核,点击“RestoreKernel”,从文件选择对话框里,选择需要的文件名。
4点击“OK”。
5在第二个ConvolutionParameters对话框里,选择输出到“File或”“Memory”。
·若选择输出到“File,”在标有“EnterOutputFilename”的文本框里键入要输出的文件名;或用“Choose”按钮选择一个输出文件名。
6点击“
OK”,开始卷积滤波。
出现一条状态信息,显示操作的进行过程。
对于图像显示不是渐渐地进展的,而是稍微等上一会儿,突然从一次性操作的)。
完成以后,滤波后的图像被添加到
tiling需要的一些滤波操作,状态窗口
0跳到100%(因为它是整个图像
AvailableBandsList的顶部,且能用
标准ENVI程序显示。
HighPassFilter(
高通滤波器
)
高通滤波在保持高频信息的同时,消除了图像中的低频成分。
它可以用来增强不同区域之间的边缘,犹如使图像尖锐化。
通过运用一个具有高中心值的变换核来完成(典型地周围是负值权重)。
ENVI默认的高通滤波用到的变换核是3×3的(中心值为“8”,外部像元值为“-1”)。
高通滤波变换核的大小必须是奇数。
·实现这一功能,选择
Filters>Convolutions>HighPass
。
LowPassFilter(
低通滤波器
)
低频滤波保存了图像中的低频成分。
ENVI的低通滤波是通过对选择的图像运用IDL
“SMOOTH”函数进行的。
这一函数用到了boxcar平均,盒子的大小由变换核的大小决定,
默认的变换核的大小是3x3。
·实现这一功能,选择
Filters>Convolutions>LowPass.
LaplacianFilter(拉普拉斯滤波器)
拉普拉斯滤波是第二个派生的边缘增强滤波,它的运行不用考虑边缘的方向。
拉普拉斯滤波
强调图像中的最大值,它用到的变换核的南北向与东西向权重均为负值,中心为“0”。
ENVI
中默认的拉普拉斯滤波用的是一个大小为3x3的,中心值为“4”,南北向和东西向均为“-1”的变换核。
所有的拉普拉斯滤波变换核的大小都必须是奇数。
Directional(直通滤波)
直通滤波是第一个派生的边缘增强滤波,它选择性地增强有特定方向成分的图像特征。
直通滤波变换核元素的总和是零。
结果在输出的图像中有相同像元值的区域均为0,不同像元值的区域呈现为亮的边缘。
实现直通滤波:
1选择
Filters>Convolutions>Directional
.
2除了
ConvolutionParameters
对话框中的标准的滤波调整项目以外,
ENVI
直通滤波需要
你在标有“Angle”的文本框里键入需要的方向(单位是度)。
正北方是0度,其他角度按逆时针方矢量度。
GaussianFilter(高斯滤波器)
高斯滤波通过一个指定大小的高斯卷积函数对图像进行滤波。
默认的变换核大小是
3×3,且
变换核的大小必须是奇数。
1选择Filters>Convolution>Gaussian
。
2除了ConvolutionParameters对话框中的标准滤波调整项目以外,选择
“
HighPass
”或
“LowPass滤”波。
MedianFilter(中值滤波器)
中值滤波在保留比变换核大的边缘的同时,平滑图像。
ENVI的中值滤波用一个滤波器大小
限定的邻近区的中值(不要与平均值混淆)代替每一个中心像元值。
默认的变换核大小是3x3。
·实现这一功能,选择Filters>Convolutions>Median。
Sobel滤波器
Sobel滤波器是非线性边缘增强,它特别地用到了Sobel函数的近似值,是一个预先设置
了3×3的,非线性边缘增强的算子。
滤波器的大小不能更改,也无法编辑变换核的大小。
·实现这一功能,选择Filters>Convolutions>Sobel。
Roberts滤波器
罗伯特滤波器是一个类似于Sobel的边缘探测器滤波。
是一种特殊的滤波,运用Roberts函
数预先设置的2×2的近似值。
是一个简单的两维空间的差分方法,用于边缘尖锐化和隔离。
滤波器的大小不能被更改,也不能编辑变换核的大小。
·实现这一功能,选择Filters>Convolutions>Roberts。
UserDefinedConvolutionFilters(
用户自定义的卷积滤波
)
你可以通过选择和编辑一个用户变换核,定义习惯上用到的卷积变换核。
1选择
Filters>Convolutions>UserDefined
。
除了ConvolutionParameters对话框中的标准的滤波调整项目以外,KernelSelection对话框
中出现的标有“Cols、”“Rows”、和“Bands”的文本框中有一个默认的3×3×1低通变换
核,作为当前变换核。
用户定义的卷积变换核可以是n×m×k维的。
2在合适文本框里,键入需要的数值,以改变变换核的维数。
注意
当前波段数只能设置为1。
3选择“EditKernel按钮”,交互式地编辑默认值,改变个别滤波器的权重。