基于小波变换的多传感器图像融合系统
项目介绍
本项目实现了一个基于小波变换(Wavelet Transform)的图像融合系统,旨在解决单一传感器成像信息不全的问题。通过算法对可见光图片(Visible Light)和红外热成像图片(Infrared)进行像素级融合,系统能够生成一张既包含丰富背景纹理又具备清晰目标特征的高质量图像。
该工程完全使用 MATLAB 编写,并在代码内部实现了从数据模拟、核心算法处理到结果评估的完整闭环。特别值得注意的是,核心的小波变换算法采用了底层自定义实现(基于 Haar 小波基),不依赖 MATLAB 的 Wavelet Toolbox 工具箱,具有极高的移植性和学习价值。
功能特性
- 多传感器模拟数据生成:系统内置合成数据生成器,能够自动创建具有互补特性的可见光(纹理背景)与红外(热目标)测试图像。
- 零依赖底层算法:完全手动实现了二维离散小波的分解(Decomposition)与重构(Reconstruction)算法,使用 Haar 滤波器组。
- 多尺度图像融合:支持 3 层(可配置)小波分解,在不同频率尺度上处理图像特征。
- 自适应融合规则:
*
低频部分:采用加权平均法,保持图像整体亮度与背景的一致性。
*
高频部分:采用绝对值最大(Max-Absolute)规则,最大程度保留边缘细节和显著特征。
- 客观评价体系:内置图像质量评价模块,自动计算信息熵(Entropy)和标准差(Standard Deviation),量化评估融合效果。
系统要求
- MATLAB R2016a 或更高版本
- 无需安装任何额外的工具箱(如 Image Processing Toolbox 或 Wavelet Toolbox),所有必要函数均已在主脚本中实现。
使用方法
- 将代码保存为
main.m 文件。 - 在 MATLAB 命令窗口或编辑器中运行该脚本。
- 系统将自动执行以下流程:生成源图像 -> 显示输入 -> 执行融合 -> 显示结果 -> 打印评价指标。
详细功能实现说明
本项目的主脚本 main.m 包含以下核心功能模块和实现逻辑:
1. 模拟源图像生成
系统不读取外部文件,而是通过
generate_source_images 函数动态生成测试数据:
- 可见光图像:利用
peaks 函数模拟复杂地形背景,叠加高频随机噪声模拟自然纹理,并在特定区域添加矩形块模拟建筑物,重点展现细节与轮廓。 - 红外图像:在纯黑背景上利用高斯函数(Gaussian)生成高亮的光斑,模拟热辐射目标,重点突显“热源”。
2. 自定义小波变换引擎
为了摆脱对工具箱的依赖,代码内部实现了基于 Haar 小波基的离散变换:
my_wavelet_decomp (分解):定义了 Haar 低通 [1 1] 和高通 [-1 1] 滤波器(带归一化系数)。通过 conv2 函数进行“行滤波-下采样”和“列滤波-下采样”的操作,将图像分解为低频近似(LL)以及水平(HL)、垂直(LH)、对角(HH)三个方向的细节分量。my_wavelet_recon (重构):实现了分解的逆过程,利用克罗内克积(Kronecker Product)思想或插值滤波逻辑,将各层细节系数与近似系数逐层上采样并合并,恢复为原始尺寸的图像。
3. 核心融合管道
融合过程由
wavelet_fusion_pipeline 函数控制,逻辑严密:
- 分解阶段:对两幅输入图像分别进行 3 层小波分解。
- 规则应用阶段:
*
低频融合:对最顶层的低频近似系数(LL),计算两幅图像系数的算术平均值(0.5 * A + 0.5 * B),确保背景信息平滑过渡。
*
高频融合:对每一层、每一个方向(水平、垂直、对角)的细节系数,调用
fusion_rule_maxabs 函数。该函数比较两幅图像对应位置系数的绝对值大小,保留绝对值较大的系数。这确保了无论是可见光的纹理边缘还是红外的高亮边缘,都能在最终图像中得到保留。
- 重构阶段:利用融合后的系数表,调用逆变换函数生成最终融合图像,并将其像素值归一化到 [0, 1] 范围。
4. 结果可视化与评估
- 使用
imshow 并排显示可见光、红外和最终融合图像,便于直观对比。 - 计算并输出以下客观指标:
*
信息熵 (Entropy):衡量图像包含的信息量丰富程度。
*
标准差 (Contrast/Std):反映图像的对比度和清晰度。
关键算法与技术细节分析
Haar 小波基的选择
代码选用了 Haar 小波作为基函数。在代码中,分解滤波器定义为
Lo_D = [1 1]/sqrt(2) 和
Hi_D = [-1 1]/sqrt(2)。Haar 小波虽然简单,但具有紧支撑特性,没有边界振铃效应,且计算速度极快,非常适合实时性要求高且包含阶跃边缘(如热源轮廓)的图像处理任务。
卷积与下采样实现
在
my_wavelet_decomp 中,并未使用现成的下采样函数,而是通过矩阵索引操作
L_rows(:, 1:2:end) 来实现隔点采样。这种实现方式不仅还原了小波变换的数学原理(Mallat 算法),也展示了数字信号处理中多类率滤波器组的基本操作流程。
融合规则的有效性
- 最大绝对值法在高频子带的应用是本系统的核心。由于小波变换后的高频系数对应图像的边缘和纹理的变化剧烈程度,取绝对值较大者意味着选择了更清晰的边缘。
- 当红外图像在某处有强目标(高系数),而可见光图像该处平坦(低系数)时,融合图像会自动“继承”红外目标;反之亦然。这保证了互补信息的最大化利用。