基于灰度共生矩阵的图像纹理特征提取系统
本系统是一款基于MATLAB环境开发的图像处理工具,专门用于定量分析和提取数字图像中的纹理特征。通过构建和分析灰度共生矩阵(GLCM),系统能够将复杂的视觉纹理转化为一系列可量化的统计描述因子,广泛应用于医学影像、工业检测及遥感分类等领域。
项目核心功能
系统实现了从原始图像载入到最终特征向量生成的全流程自动化处理:
- 交互式图像读取:提供图形化文件选择界面,支持主流图像格式(JPG, PNG, BMP, TIF)。系统具备健壮的容错机制,在未选择文件或读取失败时,可自动切换为系统内置测试图。
- 多步图像预处理:
*
颜色空间转换:自动识别图像通道,对于彩色图像执行灰度化处理。
*
噪声治理:采用 3x3 中值滤波技术,在保留纹理边缘的同时有效滤除孤立噪声点。
*
对比度调优:通过直方图均衡化(Histogram Equalization)算法增强纹理细节的区分度。
- 多维GLCM构建:
*
空间参数定制:在 0°、45°、90°、135° 四个关键方向上设定偏移位移。
*
灰度量化控制:将图像灰度级重构为 8 级,在保证特征鲁棒性的同时极大降低了计算复杂度。
*
对称性分析:生成对称的共生矩阵,确保纹理统计的规律性。
- 统计特征量化:
*
标准因子提取:直接提取对比度(Contrast)、相关性(Correlation)、能量(Energy)和同质性(Homogeneity)。
*
自定义数学运算:通过编程实现熵(Entropy)与方差(Variance)的计算,深度描述纹理的随机性与离散度。
- 特征归一化与融合:计算各方向特征的均值,并执行 Min-Max 归一化处理,将特征向量缩放到 [0, 1] 区间,便于后续分类器的接入。
- 全维度结果可视化:提供详细的数值报告及多扇区可视化图形界面。
详细实现逻辑与技术细节
系统的实现遵循严谨的数字图像算法处理流程:
1. 预处理逻辑
系统首先检查输入图像的维度。若为三通道RGB图像,调用灰度转化算法以降低数据维度。中值滤波的引入是为了平滑图像中的高频噪声,防止噪声干扰GLCM的像素对计数。直方图均衡化则是为了解决因光照不均或曝光不足导致的纹理模糊问题。
2. 灰度共生矩阵(GLCM)配置
系统的核心算法定义了四个偏移向量:水平方向 [0 1]、右上方延伸 [-1 1]、垂直方向 [-1 0] 和左上方延伸 [-1 -1]。通过将灰度级别压减至 8 级,系统构建了一个 8x8 的二维概率分布矩阵,反映了特定空间距离和方向上像素对的联合分布频率。
3. 特征计算细节
- 对比度:计算矩阵内像素灰度差的平方,反映纹理的深浅沟纹。
- 能量(角二阶矩):矩阵各元素平方和,反映图像灰度分布的均匀性。若纹理粗且均匀,能量值较高。
- 同质性:反映图像纹理的局部均匀程度。
- 熵(Entropy):基于统计学定义计算
-sum(p * log2(p))。当图像纹理分布极度不均匀或结构杂乱时,熵值较高。 - 方差(Variance):基于像素坐标的二阶矩计算,描述灰度值波动的剧烈程度。
4. 归一化算法
为解决不同维度特征值量级差异巨大的问题,系统采用了 Min-Max 缩放公式:
norm_features = (mean_val - min_val) / (max_val - min_val + eps)。其中加入
eps 防止因分母为零导致的数值溢出。
5. 可视化输出
系统生成一个综合视图,包含:
- 对比视图:展示原始图像与增强后图像的视觉差异。
- 统计直方图:以柱状图形式展现六类纹理因子的均值分布。
- 特征曲线图:通过折线反映对比度、能量、熵在 0° 到 135° 不同方向上的变化规律,辅助分析各向异性纹理。
使用方法
- 启动 MATLAB 软件环境。
- 运行主程序脚本。
- 在弹出的对话框中选择需要分析的图像文件。
- 程序的命令行控制台将输出详细的各方向特征数值报表及归一化后的特征向量。
- 自动弹出图像窗口,查看纹理分析的图形化结论。
系统要求
- 软件环境:MATLAB及其以上版本。
- 工具箱要求:需要安装 Image Processing Toolbox(图像处理工具箱),用于调用灰度矩阵生成及基础特征函数。
- 硬件支持:支持所有标准内存配置,处理速度取决于图像分辨率。