图像融合的笔记【1】——小波融合
参考的以下大佬的文章:
小波融合的代码实例【1】
小波融合的代码实例【2】
小波融合代码详解
先是最基本的基于小波变换的图像融合,融合规则采用简单的低频部分取平均值,高频部分取基于区域能量。
我们使用的是matalb中自带的小波分解函数
- wavedec2函数
首先来了解matlab中小波分解函数中各个参数的作用:`
[C,S] = wavedec2(A,N,'wname');
其中A表示的是待处理的图像;
N表示分解的层数;
‘wname’表示的是使用的小波基函数;(具体小波基函数的选择可以查看help文档)
C为各层的分解系数
S表示的是各层分解系数长度的矩阵
C其实是一个**1*size(A)**的行向量;具体表现为:
C=[A(N)H(N)V(N)D(N)H(N-1)V(N-1)D(N-1)…H(1)V(1)D(1)]
其中A(N)是第N层的低频系数;H(N)V(N)D(N)则是第N层的高频系数,分别代表水平、数值以及对角线方向的高频系数。
盗两张图表示为:
生成矩阵C为:
S作为储存各层分解系数长度的矩阵,第一行是A(N)的长度(即A(N)原矩阵的行数和列数),第二行是H(N)V(N)D(N)的长度,以此类推最后一行为原图A的长度,所以S是一个N+2×2的矩阵。
搞清楚小波分解函数的参数意义,再去做图像融合就比较简单了。
function y=wtfusion(I1,I2,N,wname)
%函数功能:
% 函数x=wtfusion(I1,I2,N,wname)将两幅原图像I1,I2进行基于小波变换的图像融合,得到融合后的图像y
% 近似分量采用加权平均的融合规则,各细节分量采用基于区域特性量测的融合规则
%输入参数:
% I1----原图像1
% I2----原图像2
% N----小波分解的层数
% wname----小波基函数
%输出参数:
% y----原图像融合后得到的图像
%-----------------------------------------------------------------%
I1=double