结合全局-局部图像对比度增强项目
项目介绍
本资源提供了一套基于MATLAB开发的图像对比度增强系统。该项目针对低对比度图像,设计并实现了一种“两阶段”增强方案。其核心逻辑在于先解决宏观上的动态范围不足,再解决微观上的细节纹理模糊。通过结合全局S型曲线调整与局部多尺度引导滤波,系统能够在提升整体视觉亮度的同时,高效提取并增强图像的微小特征,避免了传统方法容易产生的局部过曝或视觉伪影问题。项目结果通过定量的客观指标与定性的视觉直方图进行全方位评估,具有极高的稳定性和学术参考价值。
功能特性
- 交互式图像加载:程序支持用户通过图形界面手动选择本地图像文件,并具备自动容错机制,在未选择文件或环境受限时能自动生成演示图像。
- 色彩保持机制:针对彩色图像采用Lab颜色空间处理模式,仅对亮度层(L通道)进行增强,确保在大幅提升对比度的同时,不破坏原始图像的色调与饱和度。
- 两阶段增强策略:
- 全局阶段:利用自适应S型增益函数调整动态范围。
- 局部阶段:利用引导滤波(Guided Filter)技术实现基础层与细节层的分离与重构。
- 细节自适应增强:通过提取纹理细节层并施加特定增益,显著提升图像边缘及微小特征的清晰度。
- 多维度质量评估:内置PSNR、SSIM、图像信息熵及平均梯度四大核心评价指标,提供科学的数据支撑。
- 结果可视化比对:自动生成包含原图、增强图、直方图对比以及局部细节放大对比的综合结果图表。
使用方法
- 启动环境:打开MATLAB软件(建议版本R2016b及以上)。
- 运行程序:直接运行主函数程序。
- 选择图像:在弹出的文件选择对话框中,选择一张低对比度、光照不足或细节模糊的图像文件(支持jpg, png, tif, bmp等格式)。
- 查看结果:
- 视觉窗口:观察对比图像及其对应的直方图分布变化。
- 命令行窗口:查看系统输出的PSNR、SSIM、熵值及梯度等具体数值。
- 文献参考:项目包内附带的研究论文可用于深入理解引导滤波与对比度增强的理论背景。
系统要求
- 操作系统:Windows, macOS, 或 Linux。
- 软件版本:MATLAB (需安装图像处理工具箱 Image Processing Toolbox)。
- 硬件要求:通用办公及科研电脑配置即可,处理高清图像时需具备足够的内存。
主程序实现逻辑说明主程序严格遵循图像处理的标准工作流,具体步骤如下:
- 预处理阶段:将输入图像转化为双精度浮点数,并判断图像类型。若是彩色图像,则利用色彩空间映射函数将其转换为Lab空间,提取出亮度通道,这是为了避免直接在RGB空间处理导致色彩偏移。
- 全局增强:在亮度通道上应用Sigmoid函数。通过设置增益系数(gain=10)和截断值(cutoff=0.5),将图像像素值进行非线性映射,拉开明暗差距,随后进行线性拉伸以填满[0, 1]的灰度范围。
- 局部增强:
- 滤波分离:以全局增强后的图像作为引导图,利用引导滤波算法将其分解。该过程将图像拆分为平滑的基础层(代表低频亮度分布)和细节层(代表高频纹理)。
- 细节增益:对细节层施加2.5倍的自适应增强系数。
- 融合重构:将增强后的细节与基础层叠加,并进行边界约束处理,确保像素值不溢出。
- 后处理与评估:将处理后的亮度重新合成,转回RGB空间。随后调用内置算法计算结构相似性(SSIM)、峰值信噪比(PSNR)、信息丰富度(熵)以及衡量清晰度的平均梯度。
- 可视化输出:通过subplot布局,在同一个图中展示原图、增强图、直方图演变以及相同坐标下的局部区域裁剪放大图,直观体现细节修复能力。
核心函数与算法分析
- 引导滤波逻辑:
- 该算法是本项目的核心,通过计算局部均值、方差及协方差,实现了一种边缘保持的平滑效果。
- 相比高斯滤波,它在提取基础层时不会模糊重要的边缘边界,从而保证了细节层提取的精确性。
- 内部包含盒式滤波(Box Filter)工具函数,通过累积和(cumsum)方案实现,极大提高了大半径下的运算效率。
- 质量评价指标实现:
- 结构相似性(SSIM):通过滑动窗口计算图像的亮度、对比度和结构比较量,反映图像结构的保持能力。
- 图像熵:利用直方图概率分布计算信息量,熵值的提升通常意味着图像细节变得更加丰富且层次分明。
- 平均梯度:通过计算图像像素在水平和垂直方向上的变化率,定量反映图像的清晰度和纹理鲜明度。
- 空间转换函数:
- 利用MATLAB内置的cform结构实现sRGB与Lab空间的高精度相互转换,确保了亮色分离处理的严谨性。
- 自动演示机制:
- 为了保证程序在缺乏外部数据时仍可运行,代码内置了图像退化逻辑,能够将标准内置图像手动降低对比度作为实验样本,方便科研演示。