【ENVI入门系列】05.图像正射校正
版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途。
目录
图像正射校正
1.
2.
2.1
第一步:打开数据
第二步:选择控制点/设置参数
2.2
第一步:打开数据
第二步:选择控制点
第三步:执行正射校正
1. 概述
ENVI目前支持的正射校正包括两种模型:严格轨道模型(Pushbroom Sensor)和RPC有理多项式系数(Rational Polynomial Coefficient),如表1.1所示。包括ALOS/PRISM、ASTER、IKONOS、OrbView-3、QuickBird、SPOT1-5、CARTOSAT-1(P5)、FORMOSAT-2、worldview-1、GeoEye-1、KOMPSAT-2等校正模型。
- 传感器模型
传感器 |
模型 |
文件 |
ALOS/PRISM |
RPC |
RPC文件 |
ASTER |
RPC |
RPC文件 |
CARTOSAT-1(P5) |
RPC |
RPC文件 |
FORMOSAT-2 |
Pushbroom Sensor |
星历参数文件(METADATA.DIM) |
IKONOS |
RPC |
RPC文件(_rpc.txt) |
OrbView-3 |
RPC |
RPC文件(_metadata.pvl) |
QuickBird |
RPC |
RPC文件(.rpb) |
WorldView-1、2 |
RPC |
RPC文件(.rpb) |
GeoEye-1 |
RPC |
\ |
KOMPSAT-2 |
RPC |
\ |
SPOT5 Level 1A and 1B |
Pushbroom Sensor |
星历参数文件(METADATA.DIM) |
SPOT6 |
Pushbroom Sensor |
星历参数文件(METADATA.DIM) |
Pleiades-1/2 |
Pushbroom Sensor |
星历参数文件(METADATA.DIM) |
资源一号02C |
RPC |
RPC文件(.rpb) |
资源三号 |
RPC |
RPC文件(_rpc.txt) |
高分一号 |
RPC |
RPC文件(.rpb) |
ENVI还可以根据地面控制点(GCP)或者外方位元素(XS, YS, ZS, Omega, Phi, and Kappa)建立RPC文件,校正一般的推扫式卫星传感器、框幅式航空相片和数码航空相片。当获得的卫星数据提供的是轨道参数,诸如ALOS PRISM and AVINIR, ASTER, CARTOSAT-1,IKONOS, IRS-C, MOMS, QuickBird, WorldView-1等,也可以利用这个功能来生成RPC文件做正射校正。
本例中用到的数据情况如下:
表1.2 练习数据说明
文件 |
说明 |
005606990010_01_P008_MUL 文件夹 |
L1B级Quickbird多光谱数据,覆盖区域美国亚利桑那州菲尼克斯 |
BaseImage.dat |
参考数据,2.5米分辨率的DOM图像,UTM坐标系。 |
phoenix_DEM_subset.tif |
GCS_WGS_1984坐标系的DEM数据 |
phoenixGCPs.pts |
ENVI格式的控制点文件 |
2. 详细操作步骤
下面以Quickbird影像为数据源学习卫星影像的正射校正过程。分别在ENVI5.x和ENVI Classic下操作。
2.1 ENVI 5.x正射校正
当我们在进行正射校正时,如果没有控制点或控制点需要手动输入时,可以采用ENVI 5.x进行操作。用到的工具为流程化工具/Geometric Correction/Orthorectification/RPC Orthorectification Workflow。
第一步:打开数据
- 在ENVI 5.x中选择菜单File > Open As > QuickBird,在弹出的对话框中选择文件“...\数据\QuickBird\005606990010_01_P008_MUL\05JUL11182931-M1BS-005606990010_01_P008.TIL”;
图:数据打开,查看RPC信息
- 打开Data Manager(如上图所示),可以看到ENVI自动识别QB数据的RPC信息。
- 打开DEM数据“...\数据\QuickBird\phoenix_DEM_subset.tif”;
- 在Toolbox中,打开/Geometric Correction/Orthorectification/RPC Orthorectification Workflow;
- 在弹出的File Selection对话框中,Input File选择输入文件,DEM File选择DEM数据,如下图所示,点击Next进入下一步;
注:在ENVI5.1及之后版本,会自动使用ENVI自带的全球900米的DEM数据(GMTED2010.jp2)
RPC正射校正选择输入文件和DEM文件
第二步:选择控制点/设置参数
- 由于本次操作没有进行GCPs的输入,可以直接选择Advanced选项卡,设置输出像元大小、重采样方法等参数,如下图所示;建议启用Geoid Correction设置项,可以在很大程度上提高RPC模型的水平和垂直精度。PRC正射校正流程化工具使用Earth Gravitational Model (EGM) 1996来进行大地水准面校正,自动确定偏移量。
注:如果有实测GCPs,可以切换到GCPs选项卡,在工具栏选中 图标,在图像中添加实测GCP同名点,然后在右侧表格中输入如下信息,然后继续添加GCP即可。
Map X:经度 Map Y:纬度 Height:高度
- 参数和控制点设置完成后,可以点击流程化工具左下角的“Preview”进行结果预览,如图所示;
控制点输入与参数设置页面
- 最后切换到Export选项卡,设置输出文件路径,点击Finish即可。
预览正射校正结果
2.2 ENVI Classic正射校正
当我们的GCPs是从标准图像或矢量中获取时,建议使用ENVI Classic进行正射校正。下面我们以同样的例子数据介绍ENVI Classic正射校正的详细步骤。
第一步:打开数据
- 开始>程序>ENVI5.1 >Tools>ENVI Classic;
- 打开待校正Quickbird数据。选择File > Open External File > Quickbird > GeoTIFF,选择
“\数据\QuickBird\005606990010_01_P008_MUL\05JUL11182931-M1BS-005606990010_01_P008.TIF”;
- 打开参考数据。菜单File > Open Image File,选择文件“\数据\QuickBird\BaseImage.dat”;
- 打开DEM数据。菜单File > Open,选择文件“\数据\QuickBird\phoenix_DEM_subset.tif”;打开后的波段列表如下图所示。
打开的波段列表
- 将参考数据与DEM文件进行绑定,方便后续控制点高程的导入。在标准文件dat文件名上点击右键,选择Edit Header…,在弹出的对话框中选择Edit Attributes > Associate DEM File…(如下图所示),选择“phoenix_DEM_subset.tif”即可,点击OK。绑定后将DEM显示在三视窗内,双击鼠标取值可以同时看到DN值和DEM值;
绑定DEM方法(左),绑定后效果(右)
第二步:选择控制点
- 将待校正和参考数据均显示在三视窗内,本例中参考数据窗口为Display #1,待校正数据窗口为Display #2。然后选择菜单Map > Orthorectification > QuickBird > Orthorectify Quickbird with Ground Control,在弹出的对话框内选择待校正文件对应的窗口编号(本例为Display #2),自动弹出控制点选择面板Ground Control Points Selection;
- 在Ground Control Points Selection面板中,单击Change Proj...按钮,修改控制点坐标系与参考数据的坐标系一致;
修改地面控制点坐标信息
- 在待校正和参考数据的窗口内选择同名点(如下图),然后在参考数据窗口右键选择Pixel Locator菜单,点击Export按钮(如下图所示),将参考数据上的控制点信息自动输出到Ground Control Points Selection面板,点击Add Point按钮添加控制点;
注:由于待校正图像已经读取了RPC文件,有了粗略的地理位置。可以使用地理链接Geographic Link工具辅助寻找“同名点”。在显示参考数据的Display中右键选择Geographic Link,在Geographic Link面板上将显示参考数据和待校正数据的Display设置为On。大致定位后,设成Off取消地理链接,再精确定位。
控制点选取界面
使用Export导入控制点信息
- 重复步骤(6),选择一系列同名控制点,控制点的分布尽量均匀。RMS Error控制在1~2个像元大小左右(与输入文件的分辨率有关,分辨率越高,RMSE可相对要求低些);
控制点的RMS Error
第三步:执行正射校正
- 在Ground Control Points Selection面板,选择Options > Orthorectify File…;在弹出对话框中选择待校正文件,点击OK;
- 在弹出的Orthorectification Parameters对话框中设置正射校正参数。如下图所示,左侧设置输入文件和DEM重采样方法、背景值等参数,在左侧下边设置输出路径;右侧设置输出投影坐标系和像元大小等参数。输出的投影坐标系可以与参考数据(或者控制点坐标系)不一致。
- 设置完成后,点击OK执行正射校正。
注:如果修改输出的X/Y Pixel Size,需要在修改后按Enter键,ENVI会自动重新计算输出文件的行列数,否则会导致输出结果错误。
设置正射校正参数
在ENVI5.x新界面中打开校正后的结果与参考数据进行对比,如下图所示,在山区校正了地形产生的几何畸变。
校正结果的对比(窗口中间为参考数据),上图-校正前,下图-校正后
补充:
本例中使用了参考数据作为控制点源,如果不使用控制点,可以使用菜单Map > Orthorectification > QuickBird > Orthorectify Quickbird进行正射校正。
另外,可以使用矢量文件作为控制点源,如下图所示,右键选择Export Map Location。
从矢量中获取控制点