基于Contourlet变换的高性能图像融合实验系统
项目介绍
本项目实现了一个基于Contourlet变换的图像融合算法框架。Contourlet变换是一种具有多尺度、局部化和各向异性的二位图像分层表示方法,专门用于克服传统小波变换在表达图像边缘方向性方面的局限。系统通过结合拉普拉斯金字塔(LP)分解和方向滤波器组(DFB),能够更有效地捕获图像中的线条和面状特征,从而在融合过程中保留更多细节和能量。该系统适用于处理红外与可见光、医学多模态图像以及多聚焦场景下的图像融合任务。
---
功能特性
- 多尺度多方向分解:利用Contourlet变换的特性,将图像分解为不同空间频率和不同方向的子带系数,支持自定义分解层数和各层方向数。
- 双重融合策略设计:针对低频和高频系数分别采用不同的融合规则,兼顾背景亮度的平滑度和边缘细节的锐利感。
- 自适应权重机制:在低频部分引入区域能量权重,在高频部分引入局部标准差判别机制,实现融合系数的动态选择。
- 闭环重构流程:包含从分解、融合到逆变换重构的完整闭环,确保图像在处理过程中能量损失最小。
- 量化评估体系:集成了包括信息熵、平均梯度、标准差、空间频率及互信息在内的五项核心指标,提供客观的融合质量报告。
- 内置测试环境:程序包含自动生成多源模拟图像的功能,方便在没有外部数据集的情况下直接进行功能演示和算法验证。
---
系统逻辑与实现细节
1. 预处理与环境准备
系统首先对输入的两幅图像进行灰度化处理,并将其转换为双精度浮点数以保证运算精度。随后检测两图尺寸,若不一致则自动重采样对齐,确保空间域的一致性。
2. Contourlet多尺度分解实现
分解过程分为两个核心阶段:
- 拉普拉斯金字塔分解:通过高斯滤波和下采样,逐层提取图像的低通分量和高频残差(奇异点)。
- 方向滤波器组(DFB)分解:对LP分解得到的每一层高频残差,利用运动模糊滤波器模拟出的方向敏感算子进行多方向投影,获得具有各向异性的方向子带系数。
3. 复合融合规则
- 低频系数融合:计算两图像低频区域的能量分布图(基于窗口均值滤波后的平方和),得出能量权重矩阵。融合后的低频分量由能量占比较大的部分主导,有效防止了背景对比度的下降。
- 高频系数融合:采用基于局部标准差(Local Standard Deviation)的自适应准则。系统逐像素计算每个方向子带的局部清晰度,选择标准差更大的系数作为融合点,以此最大化保留边缘特征。
4. 逆变换重构
重构过程是分解的逆过程,从最细尺度开始,逐层进行上采样和高斯插值。将各层合成后的方向子带与上采样后的低频分量相加,通过迭代逐步还原出最终的融合图像。
5. 性能评价模块
为了评估实验效果,系统内置了以下数学指标:
- 信息熵 (IE):衡量图像包含的信息量丰富程度。
- 平均梯度 (AG):反映图像的微小细节反差和纹理特征,数值越高图像越清晰。
- 标准差 (SD):表示图像像素值的离散程度,反映对比度高低。
- 空间频率 (SF):通过行频率和列频率衡量图像的整体活跃程度。
- 互信息 (MI):计算融合图像与两个源图像之间的相关性,反映从源图中提取信息的完整性。
---
关键函数功能解析
- 多尺度分解函数:负责控制分解层数。每进一层,图像分辨率减半,并调用方向分解子模块。
- 方向子模块:利用特定旋转角度的滤波器模拟DFB,将单层高频图像输出为一组多方向稀疏矩阵。
- 自适应融合函数:核心逻辑层,根据输入系数计算掩码。掩码决定了每一个位置的像素来自哪一张源图像,或者是按比例混合。
- 局部滤波器:利用滑窗计算均值和标准差,是实现局部区域权重分配的计算基础。
- 指标计算工具:利用直方图概率分布计算信息熵,利用二维梯度算子计算空间频率,利用联合分布直方图计算互信息。
---
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 工具箱依赖:Image Processing Toolbox(图像处理工具箱)。
- 内存需求:建议 8GB RAM 以上,以处理大尺寸图像的矩阵运算。
---
使用方法
- 启动 MATLAB 软件,将工作路径切换至项目所在文件夹。
- 在命令行窗口输入入口函数名并回车。
- 系统将自动生成模拟的测试场景(包含模拟红外热源和模拟可见纹理)。
- 程序会自动运行分解、融合、重构流程,并弹出可视化窗口显示三张图像:源图像A、源图像B及最终的Contourlet融合结果。
- 查看命令行窗口输出的“图像融合质量评价报告”,获取客观量化数据。
- 如需处理真实数据,可修改主程序开头部分,将其中的测试图像生成代码替换为读取本地文件的
imread 语句。