【图像融合】基于matlab粒子群优化自适应多光谱图像融合【含Matlab源码 004期】
一、图像融合简介
1 图像融合的具体步骤
(1)对全色图像和多光谱图像进行图像预处理,包括图像滤波、重采样、图像配准。
(2)将预处理后的多光谱图像fmul进行IHS变换,分别得到fmul-i(亮度)、fmul-h(色调)、fmul-s(饱和度)3个分量。
(3)对全色图像fpan和多光谱图像亮度分量fmul-i进行J层Contourlet变换,得到以下分量:
其中,AJ表示低频分量;Djk表示各尺度上各方向的高频分量;j=1,…,J,表示分解层次;k=1,…,2lj,表示第j层的各个方向。
(4)对Contourlet变换分解后的低频系数和高频系数分别进行融合,对低频系数采用基于粒子群优化的自适应加权融合规则,对高频系数采用基于粒子群优化的区域结构相似度融合规则,得到满足融合要求的低频和高频分量。
(5)通过Contourlet逆变换得到新的亮度分量fmul-i′,最后对新的亮度分量fmul-i′以及多光谱图像分量fmul-h与fmul-s进行IHS逆变换得到融合图像。
2 低频系数融合规则
Contourlet变换分解后的低频系数反映了源图像的近似信息,它包含了源图像的平均特征、光谱信息和绝大多数的能量信息,决定了融合图像的近似轮廓。低频系数融合的目的是在有效保持多光谱图像的光谱能量信息的基础上适当地融入全色图像的特征信息。目前较为常用的低频系数融合规则有加权平均法、绝对值取大(小)法以及标准差取大法,这些方法直观、简单且速度快,但是未能准确地在多光谱图像的光谱信息和全色图像的空间信息中进行优化选择。因此,本文提出了一种结合粒子群优化算法的低频系数融合规则,以线性加权值作为需要优化的决策变量,以信息熵和相对偏差之间的差值作为目标适应度函数,通过粒子群优化算法的进化迭代自适应地寻找最优加权融合系数。具体融合规则如下:
其中,AJfnew-i表示融合后的低频分量;w1,w2表示加权系数;AJfpan表示全色图像fpan的低频分量;AJfmul-i表示多光谱图像亮度分量fmul-i的低频分量。
基于粒子群优化算法的低频系数融合,以信息熵和相对偏差之间的差值作为目标适应度函数,通过粒子群优化算法迭代寻找信息熵与相对偏差的差值最大时的最优加权系数w1和w2。目标适应度函数=信息熵(E)-相对偏差(RD),其中信息熵为融合图像的信息熵,是基于信息量的评价;相对偏差为融合图像与原多光谱图像之间的相对偏差,是基于光谱性能的评价。为搜索最优的加权系数,粒子群优化算法的参数设置如下:c1为0.01,c2为0.02,惯性权重ω为0.02,种群大小为20,最大迭代次数为600。
3 高频系数融合规则
高频系数反映源图像的细节信息,主要包含边缘、纹理、亮线和区域等特征信息,而单一的图像像元不能很好地表征这些特征信息,因此需要结合多源图像对应像元之间的关系进行综合考虑与分析,通过这一区域特征的多个像元来进行表征和体现。高频系数融合的目的是在保持较优的光谱特性的基础上更多地保留原全色图像的空间细节信息。本文参考文献[19] 对高频系数采用基于区域结构相似度的融合规则进行融合的思想,在此基础上利用粒子群优化算法的全局寻优能力寻找出区域结构相似度的最优阈值p来进行高频系数的融合,融合规则如下。
(1)利用粒子群优化算法寻找高频系数间结构相似度的最优阈值p,以确定高频系数融合的方式。在本文提出的算法中,以融合图像和全色图像之间的结构相似度(SS)作为目标适应度函数,通过粒子群优化算法迭代寻找结构相似度最大时的阈值p,再采用基于区域结构相似度的融合规则进行融合。粒子群优化算法的参数设置如下:c1为0.01,c2为0.02,惯性权重ω为0.6,种群大小为20,最大迭代次数为300。
(2)对高频方向子带进行窗口运算,计算它们对应区域的结构相似度,并记录相似度的值。
(3)若相似度小于p,则采用标准差最大原则进行融合,公式为:
若相似度大于p,采用以下加权融合规则,公式为:
其中,std表示邻域窗口内系数标准差;j表示分解层次,j=1,…,J;k表示第j层的各个方向,k=1,…,2lj;SSIMjk(fpan,fmul-i)为fpan和fmul-i对应区域的结构相似度;E1jk和E2jk分别为fpan、fmul对应区域的权值。
当两幅源图像对应区域的结构相似度小于最优阈值p时,说明图像相关性较小,采用区域方差最大的融合方式可以尽可能多地增加融合图像的细节信息;当两幅源图像的对应区域的结构相似度大于阈值最优p时,说明两幅图像相关性较大且比较相似,采用加权平均融合方式可以更多地保留源图像所共有的区域结构特征。两幅图像X、Y的结构相似度定义如下:
其中,mX和mY分别表示图像X、Y的均值;σX2和σY2分别表示图像X、Y的方差;βXY表示图像X、Y的协方差;L(X,Y)、C(X,Y)和S(X,Y)分别表示图像X、Y的亮度、对比度、结构比较;C1、C2、C3为小的常数,以避免式中分母为零时出现不稳定现象。
二、部分源代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear;
close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 加载图像和预处理步骤
addpath QuickBird_Data %% 数据集路径
load PAN; %% 加载 PAN 图像
load MS; %% 加载 MS 图像%% 使 PAN 和 MS 数据准备好进行处理
MSWV_db = double(MS);
PANWV_db = double(PAN);
MS_ORG = double(MS);%% 调整大小,将 MS 数据上采样到 PAN 的大小MSWV_US = imresize(MSWV_db, 1/4, 'bicubic');
MSWV_US = imresize(MSWV_US, 4, 'bicubic');
MSWV_DG = MSWV_US;
PANWV_DS = imresize(PANWV_db, 1/4, 'bicubic');
PANWV_US = imresize(PANWV_DS, 4, 'bicubic');%% 分离光谱带R = MSWV_US(:,:,1);
G = MSWV_US(:,:,2);
B = MSWV_US(:,:,3);
NIR = MSWV_US(:,:,4); %%数据规范化for i=1:size(MSWV_US,3)bandCoeffs(i) = max(max(MSWV_US(:,:,i)));MSWV_US(:,:,i) = MSWV_US(:,:,i)/bandCoeffs(i);
endP = PANWV_DS;
panCoeff = max(max(P));
P = P/panCoeff;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 问题定义
CostFunction=@(x) ERGAS_Index(x); % 成本函数nVar = 4; % 决策变量的数量VarSize = [1 nVar]; % 决策变量矩阵的大小VarMin = 0; % 变量的下界
VarMax = 1; % 变量的上限
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]谷志鹏,贺新光.Contourlet变换与粒子群优化相耦合的遥感图像融合方法[J].计算机科学. 2016,43(S2)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
【图像融合】基于matlab粒子群优化自适应多光谱图像融合【含Matlab源码 004期】相关推荐
- 【优化算法】粒子群优化灰狼算法【含Matlab源码 006期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]粒子群优化灰狼算法[含Matlab源码 006期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化求解( ...
- 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】
一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...
- 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】
一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...
- 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】
一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】
一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- matlab粒子群优化算法工具箱,MATLAB粒子群优化算法(PSO)
MATLAB粒子群优化算法(PSO) 一.介绍 粒子群优化算法(Particle Swarm Optimization Algorithm)是一种群智能算法,为了寻求全局最优.群体迭代,粒子在解空间追 ...
- 2021-01-28 粒子群优化算法-Python版本和Matlab函数 particleswarm 调用
粒子群优化算法-Python版本和Matlab函数 particleswarm 调用 前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab ...
- 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】
一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...
- 基于沙猫群优化算法的线性规划求解matlab程序
基于沙猫群优化算法的线性规划求解matlab程序 1 沙猫群优化算法 沙猫的中文学名叫沙丘猫,俗名沙漠猫,与荒漠猫名字相似,但却是两种不同的猫科动物.沙猫生活在茫茫沙漠里,主要分布在分布于非洲北部,阿 ...
最新文章
- 记一次意外的自定义控件
- 大龄计算机考研 考研帮,大龄学子考研之路
- Android Open Accessory (AOA)
- 微信机器人wxpy简单实例Python
- 基于Spring Security的认证授权_应用详解_会话管理_Spring Security OAuth2.0认证授权---springcloud工作笔记129
- lua 函数 默认值_Unity热更新框架之xLua
- rails3高端observer模式
- BZOJ - 2783 树
- 浏览器兼容性检查从5.5到11的Internet Explorer版本_IETester
- dis的前缀单词有哪些_学好单词得靠词根词缀来帮忙
- 几个值得收藏windows软件
- 【回眸】有显示器如何设置串口登录树莓派4B
- 网易云音乐的亏损,是社区经济的通病?
- 程度性数据python分析_python数据分析实战之AQI分析
- 华为U8150(IDEOS)手机USB驱动安装
- JAVA 如何将class文件转换成java文件
- 【Qt+FFmpeg】给视频添加时间水印
- 亚信安全为80%入围中国银行提供安全防护
- 华为微认证——鲲鹏处理器
- [python小工具]随机调用一个浏览器打开网页