• ENVI手动地理配准栅格图像的方法


      本文介绍在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”进行随机选择,可以看到最右侧的图与最左侧的基准图像空间位置几乎一致,说明大功告成。

  • 相关阅读:
    【CSS3】CSS3 3D 转换 ③ ( 3D 透视视图 | translateZ 转换分析 | 网页调试工具调试 translateZ 属性值 | 代码示例 )
    想做副业没有方向,这三条告诉你什么是副业思维
    Python爬虫基础(四):使用更方便的requests库
    深度学习和图形学渲染的结合和应用
    JAVA:实现Sudoku数独算法(附完整源码)
    【globlal与nonlocal和闭包函数、装饰器、语法糖】
    scala集合的partition方法使用
    Redis_AOF
    动态加载sprite是multiple模式(即该sprite包含了很多小图)里的小图
    贪心算法-IPO问题
  • 原文地址:https://www.cnblogs.com/fkxxgis/p/17427923.html