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”进行随机选择,可以看到最右侧的图与最左侧的基准图像空间位置几乎一致,说明大功告成。
ENVI手动地理配准栅格图像的方法的更多相关文章
- ArcGIS案例学习笔记3_1_地理配准案例_目视找点
ArcGIS案例学习笔记3_1_地理配准案例_目视找点 计划时间:第3天上午 方法:地理配准/添加链接点/左键/右键/输入坐标 数据:江苏省.zip 矢量:省界,市界,GPS WGS84 地理坐标系 ...
- Python ArcPy批量拼接长时间序列栅格图像
本文介绍基于Python中ArcPy模块,对大量不同时相的栅格遥感影像按照其成像时间依次执行批量拼接的方法. 在前期的文章Python arcpy创建栅格.批量拼接栅格中,我们介绍了利用Pyt ...
- ARCGIS进行地理配准并加载到谷歌地球中查看
普通的地图图片如何能让其附有经纬度坐标和投影信息,如何能将普通的地图图片加载到诸如谷歌地球等相关的三维地球软件当中进行生产或学习使用呢,这就要用到gis当中常用的一种功能,叫做地理配准.地理配准并不复 ...
- 如何通过ArcMap Add-in机制实现十字叉线地理配准工具
下图为自定义的ArcMap Add-in实现的十字叉线位图地理配准功能演示.
- HTML5 canvas图像绘制方法与像素操作属性和方法
图像绘制方法 drawImage() 向画布上绘制图像.画布或视频 像素操作属性和方法 width 返回 ImageData ...
- sharepoint 2013 配件控制FileUpload如何检查是否图像的方法
它记录的附件控制FileUpload如何检查是否图像的方法: function checkImg() { var fileObj =document.getElementById('<%=Fil ...
- adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug
1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...
- ArcGIS案例学习笔记3_1_地理配准案例_图面控制点
ArcGIS案例学习笔记3_1_地理配准案例_图面控制点 计划时间:第3天上午 目的:地形图控制点配准 数据:地形图drg 无坐标: 步骤 1.查看地图标注 2. 地理配准,添加控制点 3.结果: 联 ...
- 基于Bilateral Attention和Pyramid Filling Block的图像修复方法
One-Stage Inpainting with Bilateral Attention and Pyramid Filling Block 论文链接:https://arxiv.org/abs/1 ...
- 在ArcGIS Pro中对Revit的bim数据进行地理配准(平移、旋转等)
在ArcGIS Pro中,打开Revit的rvt格式数据,默认是没有坐标系,且位置会放置在原点位置(0,0),在实际使用过程中,需要对rvt数据进行地理配准,包括平移.旋转等操作将bim数据放置在正确 ...
随机推荐
- Python学习笔记--PySpark的相关基础学习(一)
PySpark包的下载 下载PySpark第三方包: 构建PySpark的执行环境入口对象 PySpark的编程模型 数据输入 对于SparkContext对象里面的成员方法parallelize,支 ...
- JAVA异步编程之Callbacks与Futures模型
JAVA异步编程之Callbacks与Futures模型 一:Callbacks模型 该模型的异步方法,在异步任务完成之后调用,主线程没有异步线程的结果.经典模型如Swing's EventLis ...
- SpringBoot Windows 自启动 - 通过 Windows Service 服务实现
SpringBoot 在Windows运行时,有个黑窗体,容易被不小心选中或关闭,或者服务器重启后,不能自动运行,注册为 Windows Service服务 可实现 SpringBoot 项目在Win ...
- crictl和ctr与docker的命令的对比
containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名空间 cr ...
- [Linux]Linux中安装软件的方式?
近日处理安全漏洞时,出现了这样一个问题: 判断某软件组件是通过何种方式安装的. 知道是何种方式安装,才方便做进一步的解决(升级/配置/卸载等操作) 1 解压即用 例如: sublime_text.py ...
- 1.springsecurity基于内存和数据库的认证
1.总结: 昨天主要是使用security实现了基于内存的认证和基于数据库的认证(实际项目中使用): 在security的项目中,必须配置WebSecurityConfigurerAdaptor的实现 ...
- Android开发_记事本(1)
一些知识 Textview TextView中有下述几个属性: id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行 ...
- ubutn在线服务器python Package安装到离线服务器
1.在线服务器导出requirement.txt pip freeze > requirement.txt 该文件生成完毕后,需要做些修改,去掉不需要的库,否则下载的时候会出错. 2.下载whl ...
- 道德与社会问题简报 #3: Hugging Face 上的道德开放性
使命: 开放和优秀的机器学习 在我们的使命中,我们致力于推动机器学习 (ML) 的民主化,我们在研究如何支持 ML 社区工作并有助于检查危害和防止可能的危害发生.开放式的发展和科学可以分散力量,让许多 ...
- 使用RAMMap+PoolMon分析Windows内存异常使用问题
由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢. 1 RAMMap和PoolMon工具简介 RAMMap和PoolMon都是微软Sysinternals的工具,前者可以从使 ...