项目:基于Contourlet变换与多种融合规则的图像融合系统
项目介绍
本项目是一个在MATLAB环境下全流程实现的图像融合仿真平台。系统模拟了非下采样Contourlet变换(NSCT)的多尺度和多方向分解特性,并结合了自适应融合规则与脉冲耦合神经网络(PCNN)算法,旨在通过多尺度几何分析解决传统方法在处理图像边缘和纹理细节时的不足。
该系统无需安装额外的第三方Contourlet工具箱,所有核心算法(包括变换、融合、重构、评价)均采用MATLAB原生代码实现,能够自动生成多聚焦源图像对,执行融合处理,并输出详细的客观评价指标。
功能特性
- 多聚焦图像生成:内置图像预处理模块,可基于标准灰度图像通过高斯模糊和掩膜处理,自动生成具有左侧清晰/右侧模糊和左侧模糊/右侧清晰特征的源图像对。
- NSCT 变换仿真:利用非下采样金字塔分解和方向滤波器组,模拟了NSCT的多尺度、多方向平移不变性,实现了对图像的各向异性稀疏表示。
- 低频自适应融合:针对低频分量,实现了基于局部区域能量(Local Energy)的自适应选择策略,有效保持图像的亮度背景和整体轮廓。
- 高频 PCNN 融合:针对高频细节分量,集成了脉冲耦合神经网络(PCNN)。利用神经元的点火统计特性(点火次数)作为融合决策依据,显著提升了边缘细节的保留能力。
- 全方位客观评价:内置多种主流图像融合评价指标计算模块,能够定量分析融合性能。
- 独立运行:代码设计为自包含模式,不依赖外部特定的变换工具箱。
系统要求
- MATLAB R2016a 或更高版本
- Image Processing Toolbox(图像处理工具箱)
使用方法
- 确保MATLAB当前工作目录包含项目脚本。
- 在MATLAB命令行窗口输入主函数名并回车,或直接点击运行。
- 系统将依次执行以下步骤:
* 读取或生成参考图像。
* 生成多聚焦源图像对(图A和图B)并显示。
* 执行多尺度分解。
* 应用低频和高频融合规则。
* 重构融合图像并显示结果。
* 在控制台输出详细的客观评价指标表。
算法实现细节
本项目核心逻辑均在主脚本及其子函数中实现,具体技术细节如下:
1. 图像准备与预处理
系统首先尝试读取标准测试图像(如
peppers.png)。如果未找到,则自动生成随机噪声图像以防止报错。系统通过对原图进行高斯模糊处理,并结合平滑过渡的掩膜(Mask),合成两幅互补的多聚焦图像(源图像A和源图像B),模拟真实场景下的聚焦差异。
2. 多尺度几何分析(NSCT仿真)
代码通过自定义函数模拟了非下采样轮廓波变换的核心步骤,分解层数设定为3层:
- 塔式分解:利用
[1 4 6 4 1]/16 的低通滤波器核进行卷积操作,模拟非下采样金字塔分解,获取低频逼近分量。 - 方向分解:利用Sobel及其变体算子构造了四个方向的滤波器(分别对应垂直、水平、45度、135度),对高频分量进行卷积,提取不同方向的纹理细节。
3. 图像融合规则
低频分量融合:
采用 基于局部区域能量 的策略。
- 计算低频系数在 $3 times 3$ 窗口内的局部能量。
- 比较两幅源图像低频系数的局部能量大小,生成二值决策图(显著性图)。
- 根据决策图逐像素选择能量较大的系数作为融合后的低频系数。
高频分量融合:
采用
脉冲耦合神经网络(PCNN) 策略。
- 对每一层、每一个方向的高频子带分别构建PCNN模型。
- 将高频系数的绝对值归一化后作为神经元的外部刺激输入。
- 设置PCNN参数(链接强度、衰减系数等),进行10次迭代仿真。
- 统计每个位置神经元的总点火次数(Firing Count)。
- 融合决策:选择点火次数较多(即显著性更高、边缘特征更强)的系数作为融合结果。
4. 逆变换重构
重构过程是分解过程的逆运算:
- 将融合后的各方向高频细节进行加权叠加(仿真中采用平均能量叠加)。
- 将叠加后的高频细节加回到上一层的低频分量中,逐层向上恢复,最终得到融合图像。
- 对最终图像进行截断处理,确保像素值在 [0, 255] 范围内。
5. 客观评价模块
系统内置了专门的评价函数,计算以下指标并打印至控制台:
- PSNR (峰值信噪比):衡量融合图像相对于参考图像的噪声水平,数值越高越好。
- SSIM (结构相似性):衡量融合图像与参考图像在结构信息上的相似度。
- RMSE (均方根误差):反映融合图像与参考图像的差异程度。
- Entropy (信息熵):反映图像包含的平均信息量。
- MI (互信息):计算融合图像与两幅源图像之间的信息相关性总和。
- Qabf (边缘保持度):基于Xydeas & Petrovic提出的指标,专门评估边缘信息的保留情况。