【RS】ENVI5.6.3 图像融合
图像融合是将低空间分辨率的多光谱图像或高光谱数据与高空间分辨率的单波段图像重采样生成一幅高分辨率多光谱图像的遥感图像处理技术,使得处理后的图像既有较高的空间分辨率,又具有多光谱特征。一般我们都是将多光谱波段与全色波段进行图像融合,保留多光谱波段的光谱信息的同时,保留全色波段的高空间分辨率。
图像融合的关键是融合前两幅图像的精确配准以及处理过程中融合方法的选择。只有将两幅融合图像进行精确配准,才可能得到满意的结果。如果多光谱波段和全色波段来自于同一卫星,那么就不用特意去进行图像配准的操作。反之若是两幅影像来自不同的卫星,那么图像配准以及坐标系的统一就非常有必要了。此外对于融合方法的选择,取决于被融合图像的特征以及融合目的,融合方法的选择非常重要,同样的融合方法用在不同影像中,得到的结果往往会不一样。
多光谱影像与全色影像的区别可以参考:【RS】多光谱波段和全色波段的区别
1.打开ENVI5.6.3 加载多光谱影像(MSS)以及全色影像(PAN)


2.在Toolbox工具箱中,打开Image Sharpening工具,其中包含多个图像融合的方法。
1)CN Spectral Sharpening
对大的地貌类型效果好,同时可用于多光谱与高光谱的融合。
2)Color Normalized (Brovey)Sharpening
光谱信息保持较好,受波段限制(三波段)。
3)Gram-Schmidt Pan Sharpening
改进了PCA中信息过分集中的问题,不受波段限制,较好的保持空间纹理信息,尤其能高保真保持光谱特征。专为最新高空间分辨率影像设计,能较好保持影像的纹理和光谱信息。很适合国产卫星数据。
4)HSV Sharpening
纹理改善,空间保持较好。光谱信息损失较大大,受波段限制(三波段)。
5)NNDiffuse Pan Sharpening
融合结果对于色彩、纹理和光谱信息,均能得到很好保留,需要精度较好的波谱响应函数,支持众多传感器类型,如Landsat 8、SPOT、WorldView-2/3、Pléiades-1A/1B、QuickBird、GeoEye-1、EO-1 ALI、IKONOS、DubaiSat-1/2、NigeriaSat-2,以及国产卫星等。
6)PC Spectral Sharpening
无波段限制,光谱保持好。第一主成分信息高度集中,色调发生较大变化。
3.双击打开NNDiffuse Pan Sharpening工具,进行参数设置
由于Gram-Schmidt Pan Sharpening需要有投影坐标系,所以我就没有使用它。大家可以根据第2步中各种方法的特点,选择适合自己的工具。
在Input Low Reslution Raster中输入低空间分辨率的影像(多光谱),在在Input High Reslution Raster中输入高空间分辨率的影像(全色)。输入的全色影像分辨率要求是多光谱的整数倍关系,如果不是则需要设置Pixel Size Ratio参数。

4.融合结果

常见问题:
1)图像融合后颜色失真、图像融合后变为紫色、绿色
图像融合后,ENVI需要构建栅格金字塔才能正常显示栅格数据,所以先不要着急。可以先关闭融合好的数据,等待一会再打开或者一直等着也行。等他加载好后显示就没问题了。
如果等待一会还没好,就要去确定自己输入的多光谱数据和全色数据是否精确的配准、两幅影像中是否有异常值等。
2)融合效果时好时坏
ENVI技术殿堂明确说明,对于融合方法的选择,取决于被融合图像的特征以及融合目的,融合方法的选择非常重要,同样的融合方法用在不同影像中,得到的结果往往会不一样。
如果大家在学习RS或者Python时有什么问题,可以随时留言交流!同时如果大家对如何使用Python处理遥感数据有兴趣的话同样可以留言给博主,博主会分享相关代码以供学习!
【RS】ENVI5.6.3 图像融合的更多相关文章
- paper 101:图像融合算法及视觉艺术应用
1:基于泊松方程的图像融合方法,利用偏微分方程实现了不同图像上区域的无缝融合.比较经典的文章: P. Pérez, M. Gangnet, A. Blake. Poisson image editin ...
- OpenCV探索之路(二十四)图像拼接和图像融合技术
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要. 再举一个身边的例子吧,你用你的手 ...
- Python 调用图像融合API
Python 调用图像融合API 本文记录使用Python,调用腾讯AI开放平台的图像融合API.官网给出的Demo用的是PHP,博主作为Python的粉丝,自然想用它来和『最好的』的语言一较高下,顺 ...
- OpenCV中图像融合
准备2副背景图像,注意图像黑色的部分,是作为mask用的,我们会用灰度图的方式打开它们,这时黑色的部分值为0,则图像融合时候,可以把第二幅图像在黑色的部分显示出来. 代码非常简单,注意就是图 ...
- Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效
原文:Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效 /// <summary> /// Image merge process. /// </summar ...
- 基于均值坐标(Mean-Value Coordinates)的图像融合算法的具体实现
目录 1. 概述 2. 实现 2.1. 准备 2.2. 核心 2.2.1. 均值坐标(Mean-Value Coordinates) 2.2.2. ROI边界栅格化 2.2.3. 核心实现 2.2.4 ...
- 基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现
目录 1. 概述 2. 实现 2.1. 原理 2.2. 核心代码 2.3. 第二种优化 3. 结果 1. 概述 我在之前的文章<基于均值坐标(Mean-Value Coordinates)的图像 ...
- OpenCV计算机视觉学习(2)——图像算术运算 & 掩膜mask操作(数值计算,图像融合,边界填充)
在OpenCV中我们经常会遇到一个名字:Mask(掩膜).很多函数都使用到它,那么这个Mask到底是什么呢,下面我们从图像基本运算开始,一步一步学习掩膜. 1,图像算术运算 图像的算术运算有很多种,比 ...
- Gram-Schmidt图像融合
遥感图像融合的定义是通过将多光谱低分辨率的图像和高分辨率的全色波段进行融合从而得到信息量更丰富的遥感图像.常用的遥感图像融合方法有Brovey\PCA\Gram-Schmidt方法.其中Gram-Sc ...
- 如何使用Python实现图像融合及加法运算?
摘要:本篇文章主要讲解Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合.图像加法运算.图像类型转换. 本文分享自华为云社区<[Python图像处理] 五.图像融合.加 ...
随机推荐
- 关于lambda的由来
总结lambda表达式的本质就是匿名方法,根据委托推断类型 class Program { static void Main(string[] args) { //泛型委托 最后一个是返回值 Acti ...
- git 从本地仓库提交至远程仓库 报错:error: failed to push some refs to "xxx"
**原因**:远程库里面有个文件,但是本地没有这个文件,比如: README.md,完全提交上去会覆盖之前的文件,所以git会提示报错警告! **解决方案**:如果只有 README.md文件,可以使 ...
- Teamcenter_NX集成开发:UF_UGMGR函数的使用
最近工作中经常使用Teamcenter.NX集成开发的情况,因此在这里记录UF_UGMGR函数的使用.使用UF_UGMGR相关函数需要有Teamcenter使用经验,理解Teamcenter中文件夹. ...
- vue中使用vue.extend在dom挂载vue实例
const CounterComponent = Vue.extend(Counter); this.vm = new CounterComponent({}).$mount('#container' ...
- STM32 HAL库学习 (2) USART实验
使用STM32F407 串口:PA9.PA10(利用CH340G驱动) 一. stm32f4xx_hal_uart.c 函数说明 HAL_UART_Init 函数 要使用一个外设首先要对它进行初始化, ...
- [MySQL]innodb_flush_log_at_trx_commit与sync_binlog
1 innodb_flush_log_at_trx_commit 辨析 innodb_flush_log_at_trx_commit = 0 : 每秒将日志缓冲区写入log file,并同时flush ...
- Seal AppManager发布:基于平台工程理念的全新应用部署管理体验
4月12日,数澈软件Seal(以下简称"Seal")宣布推出新一代应用统一部署管理平台 Seal AppManager,采用平台工程的理念,降低基础设施操作的复杂度为研发和运维团队 ...
- FormData收集表单信息&并且转化为Json格式进行提交验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 安装Zookeeper和Kafka集群
安装Zookeeper和Kafka集群 本文介绍如何安装Zookeeper和Kafka集群.为了方便,介绍的是在一台服务器上的安装,实际应该安装在多台服务器上,但步骤是一样的. 安装Zookeeper ...
- Go语言实现基于HTTP的内存缓存服务
所有的缓存数据都存储在服务器的内存中,因此重启服务器会导致数据丢失,基于HTTP通信会将使开发变得简单,但性能不会太好 缓存服务接口 本程序采用REST接口,支持设置(Set).获取(Get)和删除( ...