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

ENVI手动地理配准栅格图像的方法的更多相关文章

  1. ArcGIS案例学习笔记3_1_地理配准案例_目视找点

    ArcGIS案例学习笔记3_1_地理配准案例_目视找点 计划时间:第3天上午 方法:地理配准/添加链接点/左键/右键/输入坐标 数据:江苏省.zip 矢量:省界,市界,GPS WGS84 地理坐标系 ...

  2. Python ArcPy批量拼接长时间序列栅格图像

      本文介绍基于Python中ArcPy模块,对大量不同时相的栅格遥感影像按照其成像时间依次执行批量拼接的方法.   在前期的文章Python arcpy创建栅格.批量拼接栅格中,我们介绍了利用Pyt ...

  3. ARCGIS进行地理配准并加载到谷歌地球中查看

    普通的地图图片如何能让其附有经纬度坐标和投影信息,如何能将普通的地图图片加载到诸如谷歌地球等相关的三维地球软件当中进行生产或学习使用呢,这就要用到gis当中常用的一种功能,叫做地理配准.地理配准并不复 ...

  4. 如何通过ArcMap Add-in机制实现十字叉线地理配准工具

    下图为自定义的ArcMap Add-in实现的十字叉线位图地理配准功能演示.

  5. HTML5 canvas图像绘制方法与像素操作属性和方法

    图像绘制方法 drawImage()        向画布上绘制图像.画布或视频 像素操作属性和方法 width                                返回 ImageData ...

  6. sharepoint 2013 配件控制FileUpload如何检查是否图像的方法

    它记录的附件控制FileUpload如何检查是否图像的方法: function checkImg() { var fileObj =document.getElementById('<%=Fil ...

  7. adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug

    1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...

  8. ArcGIS案例学习笔记3_1_地理配准案例_图面控制点

    ArcGIS案例学习笔记3_1_地理配准案例_图面控制点 计划时间:第3天上午 目的:地形图控制点配准 数据:地形图drg 无坐标: 步骤 1.查看地图标注 2. 地理配准,添加控制点 3.结果: 联 ...

  9. 基于Bilateral Attention和Pyramid Filling Block的图像修复方法

    One-Stage Inpainting with Bilateral Attention and Pyramid Filling Block 论文链接:https://arxiv.org/abs/1 ...

  10. 在ArcGIS Pro中对Revit的bim数据进行地理配准(平移、旋转等)

    在ArcGIS Pro中,打开Revit的rvt格式数据,默认是没有坐标系,且位置会放置在原点位置(0,0),在实际使用过程中,需要对rvt数据进行地理配准,包括平移.旋转等操作将bim数据放置在正确 ...

随机推荐

  1. 全网最详细中英文ChatGPT接口文档(三)30分钟快速入门ChatGPT——资源库

    目录 Python library(Python库) Node.js library(Node.js库) Community libraries 社区图书馆 C# / .NET Crystal Go ...

  2. LGV算法 CodeForces 348D + 牛客多校 A Monotonic Matrix

    定理(Lindström–Gessel–Viennot lemma)很简单: 学的时候忘了大的行列式怎么算的了.. 然后就可以写题了: 第一道:CodeForces-348D(链接https://vj ...

  3. springboot 连接不上 redis 的三种解决方案!

    针对于这种情况,首先,我们最简单直接的方法就是需要确认Redis是否已经正常启动(验证方法:如果安装在Linux下的话可以使用ps-ef|grep redis来进行确认是否开启) 如果未开启,我们可以 ...

  4. 大数据面试——HDFS

    一.Hadoop1.0 与 Hadoop2.0的区别

  5. 快收藏!最全GO语言实现设计模式

    https://segmentfault.com/a/1190000042859564

  6. Rancher 系列文章-Rancher 升级

    概述 之前在 天翼云上用 4 台机器安装了一个 1 master(及 etcd) 3 node 的 K3S 集群,并在其上使用 Helm 安装了 Rancher 2.6.3 版本. 前几天发现 Ran ...

  7. CentOS7-自动化部署web集群

    一.项目要求 1.创建role,通过role完成项目(可能需要多个role) 2.部署nginx调度器(node2主机) 3.部署2台lnmp服务器(node3,node4主机) 4.部署mariad ...

  8. Thread 线程中的 Synchronized block and lock

    Thread Definition of Synchronized Synchronized block in java are marked with the synchronized keywor ...

  9. InnoDB 是如何解决幻读的

    前言 大部分人在日常的业务开发中,其实很少去关注数据库的事务相关问题,基本上都是 CURD 一把梭.正好最近在看 MySQL 的相关基础知识,其中对于幻读问题之前一直没有理解深刻,今天就来聊聊「Inn ...

  10. Java---->枚举类

    自定义的枚举类 package doy1; /** * @author shkstart * @create 2021-10-28 19:23 */ /** * 一.枚举类的使用 * 1.枚举类的理解 ...