遥感图像镶嵌拼接: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 ...
随机推荐
- HarmonyOS实战[三]—可编辑的卡片交互
相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化服务体验[可编辑的卡片交互]快来尝试吧 [本文正在参与"有奖征文|Harm ...
- 解决SpringMVC项目Jquery引入不生效问题
根据多方查询,总结Jquery不生效问题如下几种原因: web.xml中拦截了静态资源,但是springmvc配置文件没有对静态资源访问进行设置 <!-- <mvc:resources l ...
- 【链表】链表的合并【经典面试OJ详解】【力扣21,力扣23】超详细的算法教程
链表的合并 导航小助手 说在前面 题目链接 链表结构 OJ21.合并两个有序链表 题目描述和算法分析 接口的完整实现代码 OJ23.合并K个升序链表 题目描述和算法分析 接口的完整实现代码 尾声 说在 ...
- SpringBoot自动化配置
SpringBoot自动化配置 一.SpringBoot自动化配置原理 1.SpringBoot引导类注解介绍 在SpringBoot的启动引导类上有一个@SpringBootApplication注 ...
- NC19832 1408
题目链接 题目 题目描述 小m曾经给小t和小s讲过一个奇怪的故事.这个故事叫做1408.故事的大体内容如下. 主人公迈克·安瑟林(约翰·库萨克饰)是一个恐怖小说家.将装神弄鬼作为本职工作的迈克,平日里 ...
- Python中`yield`关键字详解
Python中`yield`关键字有什么用? Python中yield关键字有什么用? 它能做什么? 例如,我试图理解这段代码1: def _get_child_candidates(self, di ...
- 古猫先生 SATA系列博文转载
SATA专题文章列表 SATA系列专题之一:浅析Physical Layer物理层OOB信号 SATA系列专题之二:2.0 Link layer链路层概述 SATA系列专题之二: 2.1 Link l ...
- 使用JS快速读取TXT文件
1 前言 最近有个需求,需要使用JS快速读取外部大数据文件(60w条记录的表).笔者尝试过使用JS读取Excel文件,但是跑了十几分钟仍未出结果,后来笔者尝试将原数据保存为TXT文件,再从TXT文件中 ...
- spring boot+layui分页实战
项目用了layui,做了个简单的图书搜索页,分享出来. 喜欢的朋友给点个赞!!! 实现效果 开发步骤 1.前端页面和JS <!DOCTYPE html> <html xmlns=&q ...
- python 创建动态类
一般情况下多数是预先定义类 而少数特殊情况就需要去动态创建类了,直接贴代码. class BaseModel(Model): class Meta: database = _tb class_new ...