图像融合是将低空间分辨率的多光谱图像或高光谱数据与高空间分辨率的单波段图像重采样生成一幅高分辨率多光谱图像的遥感图像处理技术,使得处理后的图像既有较高的空间分辨率,又具有多光谱特征。一般我们都是将多光谱波段与全色波段进行图像融合,保留多光谱波段的光谱信息的同时,保留全色波段的高空间分辨率。

        图像融合的关键是融合前两幅图像的精确配准以及处理过程中融合方法的选择。只有将两幅融合图像进行精确配准,才可能得到满意的结果。如果多光谱波段和全色波段来自于同一卫星,那么就不用特意去进行图像配准的操作。反之若是两幅影像来自不同的卫星,那么图像配准以及坐标系的统一就非常有必要了。此外对于融合方法的选择,取决于被融合图像的特征以及融合目的,融合方法的选择非常重要,同样的融合方法用在不同影像中,得到的结果往往会不一样。

多光谱影像与全色影像的区别可以参考:【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 图像融合的更多相关文章

  1. paper 101:图像融合算法及视觉艺术应用

    1:基于泊松方程的图像融合方法,利用偏微分方程实现了不同图像上区域的无缝融合.比较经典的文章: P. Pérez, M. Gangnet, A. Blake. Poisson image editin ...

  2. OpenCV探索之路(二十四)图像拼接和图像融合技术

    图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要. 再举一个身边的例子吧,你用你的手 ...

  3. Python 调用图像融合API

    Python 调用图像融合API 本文记录使用Python,调用腾讯AI开放平台的图像融合API.官网给出的Demo用的是PHP,博主作为Python的粉丝,自然想用它来和『最好的』的语言一较高下,顺 ...

  4. OpenCV中图像融合

         准备2副背景图像,注意图像黑色的部分,是作为mask用的,我们会用灰度图的方式打开它们,这时黑色的部分值为0,则图像融合时候,可以把第二幅图像在黑色的部分显示出来. 代码非常简单,注意就是图 ...

  5. Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效

    原文:Win8 Metro(C#)数字图像处理--2.73一种背景图像融合特效 /// <summary> /// Image merge process. /// </summar ...

  6. 基于均值坐标(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 ...

  7. 基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现

    目录 1. 概述 2. 实现 2.1. 原理 2.2. 核心代码 2.3. 第二种优化 3. 结果 1. 概述 我在之前的文章<基于均值坐标(Mean-Value Coordinates)的图像 ...

  8. OpenCV计算机视觉学习(2)——图像算术运算 & 掩膜mask操作(数值计算,图像融合,边界填充)

    在OpenCV中我们经常会遇到一个名字:Mask(掩膜).很多函数都使用到它,那么这个Mask到底是什么呢,下面我们从图像基本运算开始,一步一步学习掩膜. 1,图像算术运算 图像的算术运算有很多种,比 ...

  9. Gram-Schmidt图像融合

    遥感图像融合的定义是通过将多光谱低分辨率的图像和高分辨率的全色波段进行融合从而得到信息量更丰富的遥感图像.常用的遥感图像融合方法有Brovey\PCA\Gram-Schmidt方法.其中Gram-Sc ...

  10. 如何使用Python实现图像融合及加法运算?

    摘要:本篇文章主要讲解Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合.图像加法运算.图像类型转换. 本文分享自华为云社区<[Python图像处理] 五.图像融合.加 ...

随机推荐

  1. Netty 高性能之零拷贝

    更多内容,前往个人博客 零拷贝是指避免在用户态(User-space)与内核态(Kernel-space)之间来回拷贝数据的技术. 一.传统 IO 传统 IO(InputStream/OutputSt ...

  2. Windows7蓝牙音响连接成功,但是无法播放音乐,没有声音

    本人使用的蓝牙是博通94360CD的无线网卡集成的,在Windows7系统,成功安装蓝牙驱动,但是无论连接什么蓝牙音响设备,都可以连接成功,但是在音频管理却没有蓝牙音响的设备,自然就没有声音.后来找到 ...

  3. opencv-python 2 图像基本操作

    图像的基本操作 获取并修改图像的像素值 可以通过行和列的坐标值获取该像素点的像素值.对于BGR图像,它返回一个蓝色,绿色,红色值的数组.对于灰度图像,仅返回相应的强度值. 可以用同样的方法修改像素点的 ...

  4. 开发一个二方包,优雅地为系统接入ELK(elasticsearch+logstash+kibana)

    去年公司由于不断发展,内部自研系统越来越多,所以后来搭建了一个日志收集平台,并将日志收集功能以二方包形式引入各个自研系统,避免每个自研系统都要建立一套自己的日志模块,节约了开发时间,管理起来也更加容易 ...

  5. 使用drf的序列化类实现增删改查接口

    目录 什么是DRF 安装DRF 基于原生创建五个接口 基于rest_framework的增删改查 查询多条数据 流程 创建表 创建序列化类 创建视图类 增加路由 查询单条数据 序列化类不变 视图类定义 ...

  6. pysimplegui之列表布局

    重点 1通过循环生成一行 2通过循环生成一列 3[]这个代表一行 4需要大量重复布局的时候可以使用 生成的布局(如果你有> 5个重复元素/行,一定要阅读) 本节讨论了 5 种生成布局的特定技术. ...

  7. 五月二号java基础知识

    1.使用Runnable接口可以轻松实现多个线程共享相同数据,只要用用一个可运行对象作为参数创建多个线程就可以了2.当一个线程对共享的数据进行操作时,应使之成为一个"原子操作"即在 ...

  8. day84:luffy:优惠活动策略&用户认证&购物车商品的勾选/结算

    目录 1.课程列表页活动和真实价格计算 1.优惠活动策略的model表结构 2.课程列表页显示优惠类型名称 3.课程列表页显示真实价格 4.将优惠类型名称和真实价格显示到前端页面上 5.课程列表页显示 ...

  9. 重复delete 对象指针后的 异常调用栈怪异 解析

    Release版VC6 MFC程序 程序正常退出时得到一个如下异常调用栈: 0:000> kb # ChildEBP RetAddr Args to Child WARNING: Frame I ...

  10. Spring配置数据库连接

    <beans xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="ht ...