实验二数据预处理.docx
《实验二数据预处理.docx》由会员分享,可在线阅读,更多相关《实验二数据预处理.docx(34页珍藏版)》请在冰点文库上搜索。
![实验二数据预处理.docx](https://file1.bingdoc.com/fileroot1/2023-6/17/4f181e27-8ae8-4303-ba56-4249cbed1796/4f181e27-8ae8-4303-ba56-4249cbed17961.gif)
实验二数据预处理
实验二、数据预处理
实习二、数据预处理
一、预处理简介
ERDASIMAGING数据预处理模块是由一组实用的图像数据处理工具构成,包括生成单值图像(CreatNewImage)、三维地形表面(CreateSurface)、图像分幅裁剪(SubsetImage)、图像几何校正(ImageGeometricCorrection)、图像拼接处理(MosaicImages)、非监督分类(UnsupervisedClassification)、以及图像投影变换(ReprojectionImages)等,主要是根据工作区域的地理特征和专题信息提取的客观需要,对数据输入模块中获取的IMG图像文件进行范围调整、误差校正、坐标转换等处理,以便进一步开展图像解译、专题分类等分析研究。
数据预处理模块简称DataPreparation或DataPrep,可以通过两种途径启动:
ERDAS图标面板菜单条:
Main→DataPreparation→DataPreparation菜单(图2.1)
ERDAS图标面板工具条:
点击DataPrep图标→DataPreparation菜单(图2.1)
图2.1DataPreparation菜单
从图2.1可以看出,ERDASIMAGIMG数据预处理模块包括了7项主要功能,其中第一项功能(生成单值图像)比较简单,第六项功能(非监督分类)将在图像分类中进行说明。
下面将主要介绍其余五项功能,重点是图像几何校正和图像拼接处理,因为这两项操作是从事遥感应用研究必须开展的基本工作过程。
二、三维地形表面(3DSurfacing)
三维地形表面工具允许用户在不规则空间点的基础上产生三维地形表面,所支持的输入数据类型包括:
ASCII码点文件、ArcInfo的Coverage点文件和线文件,ERDASIMAGING的注记数据层,以及栅格图像文件IMG。
所有输入数据必须具有X、Y、Z值,三维地形表面工具所应用的TIN插值方法,所输出的是一个连续的栅格图像文件。
每一个已知的空间点在输出的地形表面上保持Z值不变,而没有Z值的空间点,其输出表面的Z值是基于TIN其周围的已知点插值计算获得的。
在三维地形表面工具中提供了两种TIN插值方法:
线性插值(Linera)与非线性插值(non-linear)。
线性插值方法是应用一次多项式方程进行计算,输出的TIN三角面是一些有棱角的平面;非线性插值方法应用五次多项式方程进行计算,输出的是平滑表面,这种情况下,TIN三角面不是一个平面,而是具有弹性的曲面。
线性插值方法速度快但结果简单,而非线性插值方法产生基于不规则分布数据集的非常连续的、圆滑的表面结果。
1.启动三维地形表面(SurfacingCreateSurface)
ERDAS图标面板菜单条:
Main→DataPreparation菜单
→选择CreateSurface→打开3DSurfacing对话框(图2.2)
ERDAS图标面板工具条:
点击DataPre图标,打开DataPreparation菜单
→选择CreateSurface→打开3DSurfacing对话框(图2.2)
3DSurfacing对话框由菜单条(MenuBar)、工具条(ToolBar)和数据表格(DataCellArray)组成。
菜单条主要由文件操作(File)、数据表操作(Row)和表面生成(Surface)菜单组成,而工具条则由读取数据(ReadPoint)文件、保存数据文件(SavePoint)和生成地形表面(PerformSurfacing)图标组成。
图2.23DSurfacing对话框(读入数据之后)
2.定义地形表面参数(DefiningSurfaceParameters)
3DSurfacing对话框菜单条:
FileRead打开ReadPoint对话框(图2.3)
图2.3ReadPoint对话框
在ReadPoint对话框中需要定义下列参数:
→数据源文件类型(SourceFileType):
ASCIIFile
→数据源文件名称(SourceFileName):
Inpts.dat
→OK(关闭ReadPoints对话框)→打开ImportOptions对话框(图2.4)
在ImportOptions栏目,需要定义下列参数:
→选择字段类型(FieldType):
DelimitedbySeparation(分割字符)
→选择分割字符(SeparationCharactor):
Comma(逗号分割)
图2.4ImportOptions对话框(FieldDefinition栏目)
→每行结束字符(RowTerminatorCharactor):
ReturnNewLine(DOS)
→确定跳过几行(NumberofRowstoSkip):
0(从头读)
→点击InputPreview标签,进入InputPreview栏目(图2.5)
从ImportOptions对话框显示的原始数据可知,数据文件中的数据记录方式是一行一个点,每一行数据包括点号、X坐标、Y坐标、Z坐标(高程值)四个字段,其中点号在此处读入数据时不需要,因此,必须在ImportOptions对话框的ColumMapping中确定X、Y、Z与数据文件中字段的对应关系:
→OutputColumnName:
X对应InputFieldNumber:
2
→OutputColumnName:
Y对应InputFieldNumber:
3
→OutputColumnName:
Z对应InputFieldNumber:
4
→OK(关闭ImportOptions对话框,读入数据)
→数据读到3DSurfacingDataCellArray中(图2.2)
图2.5ImportOptions对话框(InputPreview栏目)
如果需要,可以将读入的数据保存为ERDAS的AnnotationLayer或ArcInfo的Coverage文件:
3DSurfacingdialog菜单:
File→Saveas→Saveas对话框(图2.6)
→确定输出文件类型(OutputFileType):
PointCoverage
确定输出文件名(SaveasArcInfo):
testpoint
图2.6Saveas对话框
3.生成三维地形表面(Creating3DSurface)
3DSurfacing对话框菜单条:
Surface→Surfacing→打开Surfacing对话框(图2.7)
3DSurfacing对话框工具条:
点击PerformSurfacing图标
→打开Surfacing对话框(图2.7)
图2.7Surfacing对话框
在Surfacing对话框中需要设置下列参数:
→输出文件名称(OutputFile):
testsurface.img
→表面插值方法(SurfacingMethod):
LinearRubberSheeting
→输出文件范围(OutputCorners):
自动读取ULX、ULY、LRX、LRY
→输出像元大小(OutputCellSize):
X:
30/Y:
30
→输出像元形状:
SquareCells
→输出图像背景值(BackgroundValue):
0
→输出统计忽略值(IgnoreZeroinOutputStats):
0
→输出数据类型(OutputDataType):
Unsigned16bit
→OK(关闭Surfacing对话框,执行地形表面过程)
2.显示三维地形表面(Display3DSurface)
由三维地形表面过程生成的图像文件,就是ERDAS系统的DEM文件,DEM文件常常用于三维图像(ImageDrape)的显示或虚拟地理信息系统(VirtualGIS)操作。
所以,可以在Viewer视窗中打开曲面所生成的地形表面文件testsurface.img文件,显示其二维平面效果或通过ImageInfo查看其定量信息,也可以在其上叠加对应的具有相同投影系统的图像文件,显示其三维立体效果。
三、图像分幅裁剪(SubsetImage)
在实际工作中,经常需要根据研究工作范围对图像进行分幅裁剪,按照ERDAS实现图像分幅裁剪的过程,可以将图像分幅裁剪分为两种类型:
规则分幅和不规则分幅。
1.规则分幅裁剪(RectangleSubsetImage)
规则分幅是指裁剪图像的边界范围是一个矩形,通过左上角和右下角两点的坐标,就可以确定图像的裁剪位置,整个裁剪过程比较简单。
ERDAS图标面板菜单条:
Main→DataPreparation→DataPreparation菜单(图2.1)
→选择SubsetImage→开SubsetImage对话框(图2.8)
ERDAS图标面板工具条:
点击DataPrep图标→打开DataPreparation菜单(图2.1)
→选择SubsetImage→打开SubsetImage对话框(图2.8)
图2.8SubsetImage对话框
在SubsetImage对话框中需要设置下列参数:
→输入文件名称(InputFile):
Lanier.img
→输出文件名称(OutputFile):
Lanier_sub.img
→坐标类型(CoordinateType):
File
→裁剪范围(SubsetDefinition):
输入ULX、ULY、LRX、LRY
→输出数据类型(OutputDataType):
Unsigned8bit
→输出统计忽略零值:
IgnoreZeroinOutputStats
→输出像元波段(SelectLayers):
1:
7(表示选择从第一波段到第七波段)
2,3,2(表示选择2,3,2四个波段)
→OK(关闭SubsetImage对话框,执行图像裁剪)
说明:
在上述图像裁剪过程中,裁剪范围是通过直接输入左上角坐标和右下角坐标定义的。
此外,还可以通过两种方式定义裁剪范围:
其一是应用查询框(InquireBox),然后在SubsetImage对话框中选择FromInquireBox功能;其二是应用AOI,然后在SubsetImage对话框中选择AOI功能,打开AOI对话框,并确定AOI区域来自图像视窗即可。
输出波段的选择:
一种是用冒号表示从第几波段到第几波段,另外一种是用逗号隔开表示仅仅选择这几个波段。
2.不规则分幅裁剪(PolygonSubsetImage)
不规则分幅裁剪是指裁剪图像的边界范围是个任意多边形,无法通过左上角和右下角两点的坐标确定图像的裁剪位置,而必须事先生成一个完整闭合多边形区域,可以是一个AOI多边形,也可以是ArcInfo的一个PolygonCoverage。
针对不同的情况采用不同裁剪过程。
AOI多边形裁剪(PolygonAOISubsetImage)
首先在视窗中打开需要裁剪的图像,并应用AOI工具绘制多边形AOI,可以将多边形AOI保存在文件中(*.aoi),也可以暂时不退出视窗,将图像与AOI多边形保留在视窗中,然后:
ERDAS图标面板菜单条:
Main→DataPreparation→DataPreparation菜单(图2.1)
→选择SubsetImage→开SubsetImage对话框(图2.8)
ERDAS图标面板工具条:
点击DataPrep图标→打开DataPreparation菜单(图2.1)
→选择SubsetImage→打开SubsetImage对话框(图2.8)
在SubsetImage对话框中需要设置下列参数:
→输入文件名称(InputFile):
Lanier.img
→输出文件名称(OutputFile):
Lanier_sub.img
→应用AOI确定裁剪范围:
点击AOI按钮
→打开选择AOI(ChooseAOI)对话框(图2.9)
图2.9ChooseAOI对话框
→在ChooseAOI对话框中确定AOI的来源(AOISource):
File或Viewer
→输出数据类型(OutputDataType):
Unsigned8bit
→输出统计忽略零值:
IgnoreZeroinOutputStats
→输出像元波段(SelectLayers):
1:
7(表示选择从第一波段到第七波段)
2,3,2(表示选择2,3,2四个波段)
→OK(关闭SubsetImage对话框,执行图像裁剪)
ArcInfo多边形裁剪(PolygonCoverageSubsetImage)
如果按照行政区划边界或自然区划边界进行图像的分幅裁剪,往往是首先利用ArcInfo或ERDAS的Vector模块绘制精确的边界多边形(Polygon),然后以ArcInfo的Polygon为边界条件进行图像裁剪。
对于这种情况,需要调用ERDAS其他模块的操作分两步完成。
第一步:
将ArcInfo多边形转换成栅格图像文件
ERDAS图标面板菜单条:
Main→ImageInterpreter→Utilities→VectortoRaster
→打开VectortoRaster对话框(图2.10)
ERDAS图标面板工具条:
Main→Vector→VectortoRaster
→打开VectortoRaster对话框(图2.10)
ERDAS图标面板工具条:
点击Interpreter图标→Utilities→VectortoRaster
→打开VectortoRaster对话框(图2.10)
ERDAS图标面板工具条:
点击→IVectot图标VectortoRaster
→打开VectortoRaster对话框(图2.10)
图2.10VectortoRaster对话框(a)
图2.10VectortoRaster对话框(b)
在VectortoRaster对话框中需要设置下列参数:
→确定矢量文件名称(InputVectorFile):
zone88
→确定输出文件名称(OutputRasterFile):
raster.img
→确定矢量文件类型(VectorType):
Polygon
→转换范围大小(SubsetDefinition):
ULX、ULY、LRX、LRY
→输出像元大小(PixelSize):
30
→栅格数据类型(OutputPixelDataType):
Unsigned8bit
→使用矢量属性值(AnItemasPixelValue):
ZONE88-ID
→栅格文件类型(OutputImageType):
Thematic
→是否创建图层金字塔(CreatePyramidLayers)
→输出统计忽略零值:
IgnoreZeroinOutputStats
OK(关闭VectortoRaster对话框,执行失栅转换)
第二步:
通过掩模运算(Mask)实现图像不规则裁剪
ERDAS图标面板菜单条:
Main→ImageInterpreter→Utilities→Mask
→打开Mask对话框(图2.11)
ERDAS图标面板工具条:
点击Interpreter图标→Utilities→Maskr
→打开Mask对话框(图2.11)
图2.11Mask对话框
在Mask对话框中需要设置下列参数:
→确定输入文件名称(InputVectorFile):
Lanier.img
→确定掩模文件名称(InputMaskFile):
raster.img
→点击SetRecode设置裁剪区域内新值(NewValue)为1,区域外取0值
→确定掩模区域做交集运算:
Intersection
→输出图像文件名称(OutputFile):
mask.img
→输出数据类型(OutputDataType):
Unsigned8bit
→Ok(关闭Mask对话框,执行掩模运算)
→实现图像不规则裁剪。
四、图像几何校正(GeometricCorrection)
几何校正就是将图像数据投影到平面上,使其符合(Conform)地图投影系统的过程,而将地图坐标系统赋予图像数据的过程,称为地理参考(Geo-referencing)。
由于所有地图投影系统都遵从于一定的地图坐标系统,所以几何校正过程包含了地理参考过程。
1.图像几何校正概述(IntroductiontoGeometricCorrection)
在正式开始介绍图像几何校正分幅和过程之前,首先对ERDAS图像几何校正过程中的几个普遍性的问题进行简单说明,以便于随后的操作。
图像几何校正途径(GeometricCorrectionProcess)
数据预处理途径(StartfromDataPreparation)
ERDAS图标面板菜单条:
Main→DataPreparation→ImageGeometricCorrection
→打开SetGeo-CorrectionInputFile对话框(图2.12)
ERDAS图标面板工具条:
点击DataPrep图标→ImageGeometricCorrection
→打开SetGeo-CorrectionInputFile对话框(图2.12)
图2.12SetGeo-CorrectionInputFile对话框
在SetGeo-CorrectionInputFile对话框中,需要确定校正图像,有两种选择情况
其一:
首先确定来自视窗(FromViewer),然后选择显示图像视窗(SelectViewer)
→打开SetGeometricModel对话框(图2.13)
→选择几何校正计算模型(SelectGeometricModel)→OK
→打开校正模型参数与投影参数设置对话框
→定义校正模型参数与投影参数→Apply→Close
图2.13SetGeometricModel对话框
→打开GCPToolReferenceSetup对话框(图2.14)
→确定采点模式,采点校正…
图2.14GCPToolReferenceSetup对话框
其二:
首先确定来自文件(FromImageFile)然后选择输入图像(InputImageFile)
→打开SetGeometricModel对话框(图2.13)
→选择几何校正计算模型(SelectGeometricModel)→OK
→打开校正模型参数与投影参数设置对话框
→定义校正模型参数与投影参数→Apply→Close
→打开GCPToolReferenceSetup对话框(图2.14)
→确定采点模式,采点校正…
对于第一种情况,必须事先在一个视窗中打开需要几何校正的图像,否则无法进行选择。
视窗栅格操作途径(StartFromViewerRaster)
这种途径是首先在一个视窗中打开需要校正的图像,然后在栅格操作菜单中启动几何校正模块,具体过程如下:
视窗菜单条:
RasterGeometricCorrection
→选择几何校正计算模型(SelectGeometricModel)→OK
→打开校正模型参数与投影参数设置对话框
→定义校正模型参数与投影参数→Apply→Close
→打开GCPToolReferenceSetup对话框(图2.14)
→确定采点模式,采点校正…
几何校正模块启动的两种途径相比,视窗栅格操作途径更为直观简便。
2.几何校正计算模型(GeometricCorrectionModel)
ERDAS提供的图像几何校正计算模型有7种,具体功能如表2.1所列:
表2.1几何校正计算模型与功能
模型
功能
Affine
图像仿射变换(不做投影变换)
Polyomial
多项式变换(同时做投影变换)
Reproject
投影变换(转换调用多项式变换)
RubberSheeting
非线性、非均匀变换
Camera
航空影像正射校正
Landsat
Landsat卫星图像正射校正
SPOT
SPOT卫星图像正射校正
其中,多项式变换在卫星图像校正过程中应用较多,在调用多项式模型时,需要确定多项式的次方数(Order),通常整景图像选择3次方,次方数与所需要的最少控制点数是相关的,最少控制点计算公式为(t+1)(t+2)/2,式中t为次方数,即一次方程需要3个控制点,二次方程需要6个控制点,三次方程需要10个控制点,依此类推。
3.几何校正采点模式(RecordGroundControlPoint)
图2.12中列出了ERDAS系统提供的9种控制点采集模式,仔细分析这9种模式,可以归纳阿三大类,具体类型与含义如表2.2所列。
表2.2几何校正采点模式与含义
模式
含义
ViewertoViewer:
ExistingViewer
ImageLayer(NewViewer)
VectorLayer(NewViewer)
AnnotationLayer(NewViewer)
视窗采点模式:
在已经打开的视窗中采点
在新打开的图像视窗中采点
在新打开的矢量视窗中采点
在新打开的注记视窗中采点
FiletoViewer:
GCPFile(*.gcc)
ASCIIFile
文件采点模式:
在控制点文件中读点
ASCII码文件中读点
MaptoViewer:
DigitizingTablet(Current)
DigitizingTablet(New)
KeyboardOnly
地图采点模式:
在当前数字化仪上采点
在新配置数字化仪上采点
通过键盘输入控制点
表2.2所列的三种几何校正采点模式,分别应用于不同的情况:
如果已经拥有需要校正图像区域的数字地图,或经过校正的图像,或注记图层的话,就可以应用第一种模式(视窗采点模式),直接以数字地图、或经过校正的图像、或注记图层作为地理参考,在另一种视窗中打开相应的数据层,从中采集控制点。
如果事先经过通过GPS测量、或摄影测量、或其它途径获得了控制点的坐标数据,并保存为ERDAS的控制点文件格式或ASCII数据文件的话,就应该调用第二种类型(文件采点模式),直接在数据文件中读取控制点坐标。
如果前两种条件都不符合,只有硬拷贝的地图或坐标纸作为参考的话,则只好采用第三种类型(地图采点模式),要么首先在地图上选点并量算坐标,然后通过键盘输入坐标数据;要么在地图上选定后,借助数字化仪来采集控制点坐标。
在实际工作中,这三种采点模式都是有可能遇到的。
2.资源卫星图像校正(RectifyLandsatImage)
图像校正的一般流程(GeneralRectificationWorkflow)
下