本文介绍在ENVI软件中,手动划定地面控制点从而实现栅格图像相互间地理配准的方法;其中,所用软件版本为ENVI Classic 5.3 (64-bit)

  首先,在软件中同时打开两景需要进行地理配准的栅格图像,开启“Link Displays”后在其中一幅图像中随机点击;此时可以看到两幅图的同一位置并不是同样的地物,而是具有一定空间位置差异,如下图所示。

  接下来,我们开始进行地理配准的操作。由于我们的两景图像是同一遥感影像分幅产品在不同时间的图像,因此两景图像自身都是具有地理信息的,我们就选择“Map”→“Registration”→“Select GCPs: Image to Image”;如果其中一景图像有地理信息而另一景没有(例如一景遥感影像与一幅.jpg格式的图层),就需要选择“Select GCPs: Image to Map”。

  在弹出的窗口中选择“Base Image”与“Warp Image”,亦即基准图层与需要变换的图层,在这里我们分别选中前述两景图像即可,具体二者谁是“Base Image”谁是“Warp Image”并没有强制要求;但是一定要牢记这里的设置,在后期还会用到。

  接下来,就弹出了地面控制点(GCP)选择窗口,此时就可以在图像显示区域中选择GCP了。

  此时需要注意,将前述两景图像开启的“Link Displays”关闭后才可以选择GCP

  选择方法其实也很简单:首先在第一景图像中选择一个便于区分方位的点,随后在第二景图像中找到这一点;如果左下角与上方的图像范围较大、不好辨认,可以通过右下角范围最小的图像加以精准确定。两景图像的点选择好后,选择“Add Point”即可。

  点击“Show List”,可以看到当前已经找到的GCP

  弹出的窗口中包含GCP的各类信息。

  如果大家感觉GCP在图中显示得不是很明显,可以通过“Set Point Colors”进行设置。

  我在这里设置如下:

  多次重复前述寻找GCP的过程,从而找到更多的GCP

  这里需要注意,一般地将“Degree”设置为2会有比较好的效果(这里“Degree”指的是用于计算RMS误差的次数或阶数,2就指的是用二次多项式来计算误差);进一步的,RMS误差就是下图中“RMS Error”,其表示地理配准过程中,控制点原始位置与转换后控制点新位置间的像素差值,因此其越小越好。

  在找到几个GCP后,我们就可以用“Predict”进行辅助操作:在第一景图像中找到第一个点后,通过“Predict”就可以自动定位到第二景图像的对应位置附近,随后手动微调即可。

  为了方便,我们可以直接勾选“Auto Predict”。

  此外,在GCP列表中,选中某一行GCP后,可以通过“Goto”实现直达这一GCP位置的功能。

  对于一些暂且不知道是否较好的GCP,我们可以通过“On/Off”将其暂时取消(没错,不是删除,是暂时不加入该点)。

  而对于确定不需要的点,我们可以直接将其删除。

  选好GCP后,可以选择将GCP列表导出为文本格式:

  配置好相关信息即可保存。

  上述保存GCP列表的过程是可选的,而接下来的操作则是必须的——我们需要保存GCP(这里就不是上面的那个GCP列表了,而是各个GCP的信息)为.pts格式。

  配置好相关信息即可保存。

  保存好上述.pts格式的GCP信息后,之后如果我们需要再次修改对应图层的GCP,直接导入即可。

  接下来,即可开始地理配准。选择“Map”→“Registration”→“Warp from GCPs: Image to Image”。

  找到保存的.pts格式的GCP信息文件并选中。

  在接下来的“Input Warp Image”窗口和“Input Base Image”窗口中,要按照前述选择“Base Image”与“Warp Image”时的设置进行选择——这就是为什么前面说需要牢记“Base Image”与“Warp Image”设置的原因。

  随后,对地理配准的算法、参数等加以配置,并配置输出路径与文件名。

  将新生成的配准后图像同样在ENVI中打开(如下所示最右侧图像为地理配准后图像),用“Link Displays”进行随机选择,可以看到最右侧的图与最左侧的基准图像空间位置几乎一致,说明大功告成。