基于MATLAB自适应加权中值滤波的图像去噪与增强系统
项目介绍
本项目是一款专为图像去噪与质量增强设计的数字图像处理系统。系统以经典的Lenna图像为核心测试对象,针对脉冲噪声(椒盐噪声)的特性,通过底层代码实现了一套高精度的自适应加权中值滤波(AWMF)算法。该方案不仅能有效剔除注入的噪声点,还能在处理过程中智能识别图像的局部结构,从而在去噪的同时最大程度保留图像的边缘信息和纹理细节,解决了传统中值滤波易产生的图像模糊问题。
功能特性
- 自研核心滤波算法:完全基于底层数学模型实现滑动窗口与权重分配机制,不依赖外部高级函数库,体现了算法的深度定制化。
- 局部统计特征感知:滤波器能够根据窗口内的灰度差异、局部方差及空间距离,动态计算每一个像素的权重比例。
- 高效边缘保护:系统自动识别图像的平滑区与边缘区,对细节丰富区域通过增大中心权值来精准锁定结构特征。
- 多维度评价体系:集成PSNR(峰值信噪比)与MSE(均方误差)计算模型,提供客观的性能量化报告。
- 对比分析可视化:同屏展示原始图、含噪图、标准中值滤波图与自适应加权滤波图,直观呈现去噪效果的差异。
系统要求
- 环境软件:MATLAB R2016a 或更高版本。
- 硬件要求:具备基础运算能力的通用计算机,建议内存4GB以上。
- 图像资源:默认支持Lenna.png,若缺失则自动切换至系统内置的cameraman.tif进行演示。
主程序实现逻辑说明
1. 图像初始化与预处理
系统首先尝试读取指定的Lenna图像,并自动进行灰度化处理。随后将图像数据转换为双精度浮点型(double),为后续的数学运算保证精度。
2. 噪声环境模拟
程序通过生成随机概率分布,手动向原始图像中注入密度为10%的脉冲噪声(椒盐噪声)。其中5%为灰度值为0的“椒”噪声,5%为灰度值为255的“盐”噪声,模拟实际图像采集过程中的信号干扰。
3. 自适应加权中值滤波核心逻辑
这是系统的核心模块,其执行步骤如下:
- 边界扩展:采用对称填充(Symmetric Padding)方式处理图像边缘,确保边缘像素也能参与窗口计算。
- 空间距离加权:基于高斯模型计算窗口内各点到中心点的空间距离权重,物理距离越近,权重贡献越大。
- 噪声判定与逻辑切换:系统实时检测中心像素是否为疑似噪声点(0或255)。若识别为噪声,系统会动态调低中心权重,转而依赖邻域内的非噪声像素。
- 局部方差自适应:计算窗口内局部方差。在方差较大的区域(边缘),增加中心像素比例以保护细节;在方差较小的平滑区,则采用均匀权值以增强滤波平滑度。
- 加权中值查找:通过对权值进行整数映射,构建包含重复像素值的列表或采用累积频率法,在排序后的像素序列中寻找代表权重中点的像素值作为输出。
4. 性能评价函数
- MSE函数:遍历计算原始图像与处理后图像之间每一个像素点的均方误差。
- PSNR函数:基于MSE计算峰值信噪比,单位为分贝(dB),用于衡量去噪后的保真度。
5. 结果显示与控制台报告
系统通过图形化界面(Figure)展示四个阶段的图像对比,并在窗口下方标注各自的PSNR与MSE数值。同时,控制台会输出一份详细的性能报告,包括含噪图、标准中值滤波及自适应加权滤波的各项指标。
使用方法
- 将主程序代码保存为 main.m。
- 在MATLAB的工作路径中放入名为 Lenna.png 的图像文件。
- 在命令行窗口直接输入 main 命令并回车。
- 观察自动生成的对比图像窗口以及控制台打印的去噪报告。
---
本项目实现的算法在保持图像清晰度与滤除孤立噪声点之间取得了优异平衡,适用于数字图像预处理及对边缘敏感的机器视觉应用场景。