一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【图像融合】基于matlab小波变换遥感图像融合【含Matlab源码 744期】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、小波变换图像融合技术简介

1 案例背景
图像融合,指通过对同一目标或同一场景用不同的传感器(或用同一传感器采用不同的方式)进行图像采集得到多幅图像,对这些图像进行合成得到单幅合成图像,而该合成图像是单传感器无法采集得到的。图像融合所输出的合成图像往往能够保持多幅原始图像中的关键信息,进而为对目标或场景进行更精确、更全面的分析和判断提供条件。图像融合属于数据融合范畴,是数据融合的子集,兼具数据融合和图像可视化的优点。因此,图像融合能够在一定程度上提高传感器系统的有效性和信息的使用效率,进而提高待分析目标的分辨率,抑制不同传感器所产生的噪声,改善图像处理的效果。
图像融合最早是以数据融合理论为基础的,通过计算像素算术平均的方式得到合成图像。该方法忽略了像素间的相互关系,往往会产生融合图像的对比度差、可视化效果不理想等问题。因此,为了提高目标检测的分辨率,抑制不同传感器的检测噪声,本案例选择了一种基于小波变换的图像数据融合方法,首先通过小波变换将图像分解到高频、低频,然后分别进行融合处理,最后再逆变换到图像矩阵"。在融合过程中,为了尽可能保持多源图像的特征,在小波分解的高频域内,选择图像邻域平均绝对值较大的系数作为融合小波重要系数;在小波分解的低频域内,选择对多源图像的低频系数进行加权平均作为融合小波近似系数。在反变换过程中,利用重要小波系数和近似小波系数作为输入进行小波反变换。在融合图像输出后,对其做进一步的处理。实验结果表明,基于小波变换的图像数据融合方法运行效率高,具有良好的融合效果,并可用于广泛的研究领域,具有一定的使用价值。
根据融合的作用对象,图像融合一般可以分为3个层次:像素级图像融合、特征级图像融合和决策级图像融合。其中,像素级融合是作用于图像像素点最底层的融合,本章所研究的图像融合是像素级图像融合。

1.2理论基础
传统的直接像素算术平均进行图像融合的方法往往会造成融合结果对比度降低、可视化效果不理想等问题,为此研究人员提出了基于金字塔的图像融合方法,其中包括拉普拉斯金字塔、梯度金字塔等多分辨率融合方法。20世纪80年代中期发展起来的小波变换技术为图像融合提供了新的工具,小波分解的紧致性、对称性和正交性使其相对于金字塔分解具有更好的图像融合性能。此外,小波变换具有“数学显微镜”聚焦的功能,能实现时间域和频率域的步调统一,能对频率域进行正交分解,因此小波变换在图像处理中具有非常广泛的应用,已经被运用到图像处理的几乎所有分支,如图像融合、边缘检测、图像压缩、图像分割等领域。
假设对一维连续小波w…(t)和连续小波变换W,(a,b)进行离散化,其中,a表示尺度参数, b表示平移参数, 在离散化过程中分别取a=a{和b=bf, 其中, jeZ, a, >1,则对应的离散小波函数如下:

离散化的小波变换系数如下:

小波重构公式如下:

式中,C为常数且与数据信号无关。根据对连续函数进行离散化逼近的步骤,如果选择的a, 和b, 越小, 则生成的网格节点就越密集, 所计算的离散小波函数wj x® 和离散小波系数Cj就越多,进而数据信号重构的精确度也越高。
由于数字图像是二维矩阵,所以需要将一维信号的小波变换推广到二维信号。假设(x)是一个一维的尺度函数,p(x)是相应的小波函数,那么可以得到一个二维小波变换的基础函数:
v’(x,y)=0(x)v(y)w(x,y)=y(x)(y)v(x,y)=V(x)w(y)
由于数字图像是二维矩阵, 一般假设图像矩阵的大小为NxN, 且N=2"(n为非负整数),所以经一层小波变换后,原始图像便分解为4个分辨率为原来尺寸一的子带区域,如图11-1所示,分别包含了相应频带的小波系数,这一过程相当于在水平方向和垂直方向上进行隔点采样。

进行下一层小波变换时,变换数据集中在LL子带上。说明了图像小波变换的数学原型。
(1)LL频带保持了原始图像的内容信息,图像的能量集中于此频带:

对图像进行小波变换的原理就是通过低通滤波器和高通滤波器对图像进行卷积滤波,再进行二取一的下抽样。因此,图像通过一层小波变换可以被分解为1个低频子带和3个高频子带。其中,低频子带LL;通过对图像水平方向和垂直方向均进行低通滤波得到;高频子带HL通过对图像水平方向高通滤波和垂直方向低通滤波得到;高频子带LH通过对图像水平方向低通滤波和垂直方向高通滤波得到:高频子带HH通过对图像水平方向高通滤波和垂直方向高通滤波得到。各子带的分辨率为原始图像的,同理,对图像进行二层小波变换时只对低频子带LL进行, 可以将LLi子带分解为LL 2、LH 2、HL 2和HH, 各子带的分辨率为原始图像的一。,以此类推可得到三层及更高层的小波变换结果。所以,进行
一层小波变换得到4个子带,进行二层小波变换得到7个子带,进行x层分解就得到3·x+1个子带。如图11-2所示为三层小波变换后的系数分布。

三、部分源代码

clc;
clear all;
close all;Panc = imread('high.jpg');
Mult = imread('low.jpg');
figure;
subplot(1,2,1),imshow(Panc);title('高分辨率影像');
subplot(1,2,2),imshow(Mult);title('多波段影像');Mult_R = Mult(:,:,1);
Mult_G = Mult(:,:,2);
Mult_B = Mult(:,:,3);% 高分辨率全色图小波变换
[CPanc,LPanc] = wavedec2(Panc,3,'db13');
WH = LPanc(1,:);
length = WH(1)*WH(2);[CMult_R,LMult_R] = wavedec2(Mult_R,3,'db13' ); % R通道小波变换,得到的低频替换全色图的低频系数
CR = CPanc; CR(1:length) = CMult_R(1:length);[CMult_G,LMult_G] = wavedec2(Mult_G,3,'db13' ); % G通道小波变换,得到的低频替换全色图的低频系数
CG = CPanc; CG(1:length) = CMult_G(1:length);   [CMult_B,LMult_B] = wavedec2(Mult_B,3,'db13' ); % B通道小波变换,得到的低频替换全色图的低频系数
CB = CPanc; CB(1:length) = CMult_B(1:length);% 低频为多光谱图的低频系数,高频为全色图的高频系数,进行小波重构
Img_Result(:,:,1) = waverec2(CR,LPanc,'db13' );
Img_Result(:,:,2) = waverec2(CG,LPanc,'db13' );
Img_Result(:,:,3) = waverec2(CB,LPanc,'db13' );

四、运行结果


五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【图像融合】基于matlab小波变换遥感图像融合【含Matlab源码 744期】相关推荐

  1. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  2. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  3. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  4. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  5. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  6. 【Matlab车牌识别】停车计费系统【含GUI源码 735期】

    一.代码运行视频(哔哩哔哩) [Matlab车牌识别]停车计费系统[含GUI源码 735期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLA ...

  7. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  8. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  9. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  10. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

最新文章

  1. 想法:javac:源版本1.7需要目标版本1.7
  2. 软件测试随手记(转)
  3. python 笔记 之 sqlalchemy操作数据库-说明
  4. 通过帧中继验证OSPF支持的不同网络类型
  5. js文件中定义全局配置文件
  6. vue中向数组去重_「前端剑指offer第3期」来,手写一下数组去重
  7. 阿里云大学课程学习有奖征文活动现在开始
  8. 让别人和自己看懂自己的程序代码?一文掌握Java单行多行、文档注释以及注解(Annotation)超详细的理解使用,IDEA注释注解快捷键和模板,提高程序代码更有可读性
  9. Github如何更新Fork的仓库
  10. 【vim】vim常用命令
  11. 怎样才能通过c语言二级考试,如何一次就通过全国计算机二级C语言考试,高分技巧四部曲...
  12. sql语句实现动态添加查询条件
  13. 角度单位中角分、角秒的进制转换
  14. 在Novell NetWare中支持IP
  15. mysql datasource.url_DataSource配置
  16. nslookup查询域名系统服务器,域名解析系统DNS诊断命令nslookup详解
  17. snmpwalk命令常用方法总结
  18. 2022年度电商“三巨头”阿里,京东,拼多多的“暗战”
  19. CAD2020版本设置为经典模式
  20. houdini 简化太阳

热门文章

  1. Ubuntu Server Download
  2. InnoDB存储引擎介绍-(1)InnoDB存储引擎结构
  3. Android-Universal-Image-Loader-master(图片浏览+缓存)
  4. 静态方法与实例方法的区别
  5. [转]Google Maps地图投影全解析
  6. 20191001每日一句
  7. SOTIF很快将会取代ISO 26262?为您详细解读SOTIF标准ISO/PAS 21448
  8. Attit 现代编程语言重要特性 目录 第一章 可读性与开发效率 简单性 1 第一节 垃圾回收 1 第二节 自动垃圾回收 1 第三节 命名参数 函数多返回值 1 第四节 多语言 语言交互性 2 第五
  9. Atitit 提升开发效率 简化设计工具箱 vs 问题诊断 目录 1. 语言类类tool内嵌脚本解释器 1 1.1. 脚本语言 php nodejs python 1 1.2. Sql 1 2. D
  10. Atitit 常见dj机功能 目录 1.1. PLAY/PAUSE:播放及暂停,这个和普通的音乐播放设备的功能都是一样的。 1 1.2. Direction:FWD正方向转动、REV反方向转动,音乐