遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法
本文介绍基于ENVI软件,利用“Pixel Based Mosaicking”工具实现栅格遥感影像镶嵌拼接的方法。
首先需要说明的是,本文需要镶嵌的遥感影像并不含地理参考信息,因此仅可以使用ENVI中的“Pixel Based Mosaicking”工具(该工具可以对含有或不含有地理参考信息的图像进行镶嵌),而不是更为先进的“Seamless Mosaic”工具(该工具仅可对含有地理参考信息的图像进行镶嵌);针对后者,大家可以查看我们后续的博客。
我们先来看一下本文需要实现的需求。现有以下两景遥感影像,在ArcMap软件中打开,其中一景如下图所示。

另一景则如下图所示,可以看到两景遥感影像之间的重叠区域还是比较大的。

其中需要注意,这两景图像均不含任何的地理参考信息;因此在ArcMap中的显示,二者也是重叠起来的。而我们需要做的,就是对这两景遥感影像进行镶嵌。
明确了具体需求,接下来就可以开始镶嵌操作。首先,我们在ENVI软件中打开对应的两景遥感影像。选择“File”→“Open...”。

在弹出的文件选择窗口中,选中我们需要进行镶嵌的两景遥感影像文件,并选择“打开”。

接下来,在ENVI的工具箱中,依次选择“Mosaicking”→“Pixel Based Mosaicking”。

这里我们再强调一下,之所以不选择使用效果更好的“Seamless Mosaic”工具进行镶嵌,就是因为该工具仅可以对含有地理参考信息的栅格数据进行操作;下图为该工具的帮助文档,可以看到其中也提到了这一点。

对于本文的两景不含有地理参考信息的图像,如果我们将其添加到“Seamless Mosaic”工具中,就会提示因为图像不含有标准投影信息,所以不能进行这种方法的镶嵌。

言归正传。我们打开“Pixel Based Mosaicking”工具后,将会弹出如下所示的界面。

我们依次选择“Import”→“Import Files...”,进行待镶嵌数据的导入。

在弹出的数据选择窗口中,选中我们需要进行镶嵌的数据。

随后,会弹出一个镶嵌范围的配置框。在这里我们暂时不管它,直接选择“OK”即可。

随后,两景图像都被添加进入镶嵌工具中。

可以看到,此时两景影像依然是重叠在一起的,且不能拖动;而我们在后期对这两景遥感影像进行镶嵌时,肯定首先需要调整二者的位置。那么,我们就需要对刚刚提到的镶嵌范围进行扩大,从而让我们可以拖动两景遥感影像。
依次选择“Options”→“Change Mosaic Size...”,打开镶嵌范围的配置框。

在弹出的窗口中,将二者适当扩大,从而调整镶嵌区域的X与Y的像素范围。

随后,我们即可用鼠标左键拖动两景遥感影像。

接下来,不断拖动遥感影像,使其二者处于正确的空间位置。用“Pixel Based Mosaicking”工具镶嵌不含有地理参考信息的栅格图像时,有一个比较麻烦的地方——其不能调整每一景遥感影像的透明度;这就会导致我们在拖动两景遥感影像时,会稍微有些不方便确认二者是否完全匹配到合适的位置。我们只能在图像上右键,通过如下图所示的选项不断切换两景遥感影像之间的显示优先级,从而大致判断图像是否处于合适的位置。

当然,这里还有一个找到不同遥感影像之间相对位置的办法。我们可以首先选定一个每一景遥感影像中都含有的地物标志像素,例如下图中黄色圆圈内的河流交界处的像元;随后,在ENVI软件中通过Crosshairs功能、Cursor Value功能确定该像元在每一景遥感影像中的像元位置(X与Y位置);接下来,对两景遥感影像的X位置与Y位置依次做差,并依据差值修改下图红色方框内的图像左上角点的像元位置,就可以快速确定两景遥感影像之间的相对位置。

确定了遥感影像之间的相对位置后,我们还需要分别查看每一景遥感影像背景值(NoData值)处像元的数值,为了后期的镶嵌做准备。这里我们依然通过Crosshairs功能、Cursor Value功能实现即可。

每一景图像最好都确认一下,防止后期镶嵌时出现问题。

随后,对每一景遥感影像的名称右键,选择“Edit Entry”选项。

在弹出的窗口中,第一项输入我们刚刚获取的遥感影像的背景值,第二项选择图像接边线的羽化范围;随后,配置图像显示的RGB通道与拉伸比率,并对图像的颜色均衡进行调整。对于颜色均衡,我们只需要对待镶嵌图像中的任意一景的“Color Balancing”选择“Fixed”即可,其它图像均选择“Adjust”。

对每一景遥感影像都进行“Edit Entry”操作。同时不要忘记,其它遥感影像的“Color Balancing”都要选“Adjust”。

配置完毕后,在“Pixel Based Mosaicking”工具工具窗口下方,可以看到每一景遥感影像的参数设置。

接下来,即可开始镶嵌操作。依次选择“File”→“Apply”。

在弹出的窗口中,配置镶嵌后图像的保存路径与名称,并将“Color Balance using:”一项选择为“stats from complete files”即可。

随后,即可进行图像的镶嵌。稍等片刻,得到镶嵌完毕后的结果如下图所示。

至此,大功告成。
遥感图像镶嵌拼接:ENVI的Pixel Based Mosaicking工具操作方法的更多相关文章
- ENVI提取水系并进行生态敏感性分析
4 具体步骤 4.1 DEM数据拼接 (1)打开ENVI软件,选择[File][Open],添加文件夹DEM数据中的影像,操作如图4.1.1所示,结果如图4.1.2. 图4.1.1 添加DEM数据影像 ...
- 【168】ENVI入门系列
参考:ENVI-IDL中国的博客 [ENVI入门系列]01.ENVI产品简介与入门 [ENVI入门系列]02.自定义坐标系(北京54.西安80.2000坐标系) [ENVI入门系列]03.基于自带定位 ...
- Tile based Rendering //后面一段是手机优化建议
https://www.imgtec.com/blog/a-look-at-the-powervr-graphics-architecture-tile-based-rendering/ 一种硬件结构 ...
- 关于位图读取函数int Load_Bitmap_File的lseek问题。
事情是这样的,本人在编译3D游戏编程大师技巧中的程序是遇到了一个关于位图读取函数int Load_Bitmap_File的lseek问题. 我使用以下位图读取函数读取位图事报错如下: int Load ...
- IDL与C#混合编程技术
C# (C Sharp)是微软公司在2000年6月发布的一种新的编程语言.C#与Java有很多的相似之处,包括了诸如单一继承.界面.与Java几乎同样的语法,和编译成中间代码再运行的过程.它又借鉴了D ...
- Detecting diabetic retinopathy in eye images
Detecting diabetic retinopathy in eye images The past almost four months I have been competing in a ...
- ENVI5.1批量镶嵌工具界面按钮显示不全的解决方案
打开批量镶嵌工具,在导出文件界面,部分按钮显示不全.具体见下图: 图 1 界面按钮显示不全 解决方案: 以win7.8系统为例: 显示桌面 – > 右键“个性化” – >显示 – > ...
- 地理信息系统公开课计划 前言I
对,就是地理信息系统(GIS),不是遥感RS,也不是编程,纯粹的地理信息系统. 地理信息系统=数学+物理+计算机+地理的烧脑组合. 但凡能知道.了解地理信息系统的人,基本上都不会是非知识分子,我就不矫 ...
- [No0000129]WPF(1/7)开始教程[译]
概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...
- CNN autoencoder 先降维再使用kmeans进行图像聚类 是不是也可以降维以后进行iforest处理?
import keras from keras.datasets import mnist from keras.models import Sequential from keras.layers ...
随机推荐
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇
1.简介 这个系列的文章也讲解和分享了差不多三分之一吧,突然有小伙伴或者童鞋们问道playwright有没有截图的方法.答案当然是:肯定有的.宏哥回过头来看看确实这个非常基础的知识点还没有讲解和分享. ...
- MySQL 之高级命令(精简笔记)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...
- vue+elementui批量上传下载注意事项
批量手动上传文件,和表单数据一起提交 1.在el-upload组件关键的钩子,其它省略 multiple :auto-upload = "false" :file-list = & ...
- 小知识:解决EXP-00003的报错
客户有个需求:某用户程序(含exp导出任务)报错EXP-00003,这个错误并不会影响整个导出任务的结束,但由于是晚上的定时任务,该错误会触发夜间告警.客户想通过数据库层面来规避掉此错误. 事实上,这 ...
- Python脚本的输入输出
一.必备知识回顾和补充 1. Hello world回顾 1.输出文本,使用print函数输出文本. 2.让用户输入名字,然后输出带名字的问候语.使用input函数获取用户的输入,使用变量保存输入值. ...
- [Java]HashMap与ConcurrentHashMap的一些总结
HashMap与ConcurrentHashMap的一些总结 HashMap底层数据结构 JDK7:数组+链表 JDK8:数组+链表+红黑树 JDK8中的HashMap什么时候将链表转为红黑树? 当发 ...
- MFC-ODBC API动态连接配置数据库
一.ODBC管理器介绍 在Window中,ODBC数据远管理器有6个标签:用户DSN.系统DSN.文件DSN.驱动程序.跟踪.连接池,通常情况下,使用用户DSN或者系统DSN,这里主要了解用户DSN和 ...
- CORS就是跨域吗?
首先,跨域的域是什么? 跨域的英文是:Cross-Origin. Origin 中文含义为:起源,源头,出生地. 在跨域中,"域"指的是一个 Web 资源(比如网页.脚本.图片等) ...
- 【leetcode】合并 k 个有序链表,我给了面试官这 5 种解法
开胃菜 在进入本节的正题之前,我们先来看一道开胃菜. 题目 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...
- jar not loaded. See Servlet Spec 3.0, section 10.7.2 Offending class: javax/servlet/Servlet
说明: 今天在整合activemq功能时启动应用模块报错: jar not loaded. See Servlet Spec 3.0, section 10.7.2 Offending class: ...