基于有限脊波变换(Finite Ridgelet Transform)的图像表示与处理系统
项目介绍
本项目是一个基于 MATLAB 开发的图像处理系统,完整实现了由 Minh N. Do 与 Martin Vetterli 提出的有限脊波变换(FRIT)理论框架。该系统致力于解决传统二维小波变换在处理图像中具有方向性直线特征(如建筑边缘、纹理轮廓)时稀疏性不足的问题。通过将有限 Radon 变换(FRAT)与一维离散小波变换(DWT)相结合,该系统能够高效地捕获图像中的线性奇异性,并在图像去噪与重构任务中展现出优于传统方法的性能。
功能特性
- 离散有限域下的几何映射:严格遵循有限域数学要求,在 $p times p$ ($p$ 为素数)的网格上实现全方向的投影计算。
- 多尺度线性能量聚集:通过对 Radon 投影系数执行一维小波分解,将图像中的直线特征映射为脊波域中的少数高能系数。
- 自动化去噪流程:内置基于通用阈值法的硬阈值处理算法,能够识别并抑制非特征噪声。
- 完备的重构能力:实现逆有限 Radon 变换,确保在无量化损失的情况下能够完美重构原始图像。
- 综合性能评估:系统自动计算并对比 PSNR(峰值信噪比)与 SSIM(结构相似性指数),提供量化的处理效果分析。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 基础工具箱:Image Processing Toolbox(用于图像读取与基本处理)。
- 硬件建议:标准的计算机配置即可支持 $p=127$ 或 $p=257$ 级别的实时计算。
功能实现逻辑与算法分析
本系统的核心逻辑分为预处理、正变换、处理、逆变换及评估五个阶段。
- 图像预处理与环境检查
系统首先要求设置有限域尺寸 $p$,该值必须为素数以满足有限 Radon 变换的数学完备性。输入图像会被调整为 $p times p$ 的尺寸,并根据预设的噪声强度(Sigma)添加高斯白噪声,为后续的去噪实验提供基础。
- 有限 Radon 变换 (FRAT) 算法实现
这是脊波变换的第一步。算法通过以下逻辑实现:
- 遍历 $p$ 个不同的斜率 $k$(从 0 到 $p-1$)。
- 针对每个斜率,在图像坐标系下根据线性方程 $y = (kx + m) pmod p$ 计算投影和,其中 $m$ 为截距。
- 专门处理垂直方向的投影(即斜率无穷大的情况)。
最终生成一个 $(p+1) times p$ 的系数矩阵,其中每一行代表一个特定方向上的 Radon 投影。
- 一维小波变换 (1D-DWT) 模块
在获取 Radon 系数后,系统沿各个投影方向(行方向)执行多层一维小波分解。代码采用了经典的 Haar 小波基。
- 分解过程:通过计算相邻元素的算术平均值(低频分量)和差值(高频分量),并将分量进行缩放归一化。
- 多尺度特性:通过嵌套循环实现多层分解,进一步增强了对线性特征的紧凑表达。
- 脊波域去噪处理
系统利用脊波变换对图像边缘的聚集性,采用硬阈值过滤噪声。
- 阈值选择:使用通用阈值公式,该公式综合考虑了噪声强度和图像总像素规模。
- 处理策略:遍历所有脊波系数,将绝对值小于阈值的系数置零,从而在保留结构特征的同时剔除背景噪声。
- 逆变换与图像重构 (IFRIT)
重构过程是正变换的严格镜像:
- 逆一维离散小波变换:通过 Haar 基重构公式,从细节分量和近似分量中恢复出 Radon 投影序列。
- 逆有限 Radon 变换:采用反投影法,根据方向和相位将 Radon 域的能量重新映射回空间域。
- 归一化处理:根据有限域理论,在反投影求和后减去图像总像素和,并除以 $p$ 进行幅值校正。
- 性能评估与可视化展示
系统包含专门的子函数用于计算 PSNR 和简化版的 SSIM。在可视化界面中,系统会展示原始图像、含噪图像、Radon 系数图、脊波系数能量分布图以及最终的重构去噪图,通过对比直观展示脊波变换在保持边缘完整性方面的优势。
使用方法
- 将所有系统函数代码保存为对应的 MATLAB 环境路径。
- 打开主程序入口,根据需求修改程序开头的参数:调整 $p$ 的值以改变处理分辨率,调整小波层数以改变分解深度,调整噪声强度测试系统鲁棒性。
- 运行程序,系统将自动执行变换、处理和重构流程。
- 结果将通过图形窗口弹出,并在控制台输出 PSNR 和 SSIM 指标。