图像灰度共生矩阵(GLCM)多方向特征提取系统
项目介绍
本项目是一款基于 MATLAB 平台开发的数字图像纹理分析工具。通过构建图像的灰度共生矩阵(GLCM),系统能够定量分析像素在空间位置上的分布规律,从而提取反映图像质感、粗细及复杂度的统计特征。该系统在医学影像辅助诊断、遥感影像分类、工业表面缺陷检测以及通用的计算机视觉纹理识别任务中具有重要的应用价值。
功能特性
- 多方向全面分析:系统支持 0°、45°、90° 以及 135° 四个关键空间方向的特征提取,能够捕捉图像在不同维度上的各向异性纹理信息。
- 五大核心指标提取:自动计算能量(Energy)、对比度(Contrast)、相关性(Correlation)、同质性(Homogeneity)以及信息熵(Entropy)。
- 对称性处理与降维:采用对称共生矩阵计算方式,并通过灰度级压缩(NumLevels)技术平衡特征表达的精度与计算效率。
- 健全的数据容错机制:配备交互式文件选择器,支持多种常用图像格式;若用户未选择文件,系统将自动生成合成纹理图像进行演示。
- 直观的可视化分析:集成原始图像展示、四方向共生矩阵热力图对比以及多指标归一化特征分布直方图。
系统要求
- 软件环境:MATLAB R2016b 及以上版本。
- 必备工具箱:Image Processing Toolbox(图像处理工具箱)。
- 硬件要求:标准个人计算机,内存建议 8GB 或以上以确保高分辨率图像处理的流畅性。
使用方法
- 启动程序后,系统会弹出文件选择对话框。
- 在弹出窗口中选择待分析的图像文件(支持 .jpg, .png, .tif, .bmp 格式)。
- 待程序运行完成后,MATLAB 命令行窗口将输出包含五个特征指标的数据表格。
- 系统将自动弹出可视化窗口,通过热力图和统计图表形式展示该图像的纹理分析结果。
实现逻辑说明
系统执行流程遵循标准的数字信号处理与统计分析步骤:
- 图像预处理与标准化:
程序首先通过交互界面获取图像路径。对于读入的彩色 RGB 图像,系统会利用灰度化算法将其转换为单通道灰度图;对于灰度级过大的图像,系统固定将其量化压缩为 32 个等级,以便于后续构建稀疏度适中的共生矩阵。
- 偏移量定义与矩阵构建:
系统设置像素偏移距离为 1,并定义了四个偏移向量。这四个向量分别代表了水平方向、对角线方向、垂直方向以及反对角线方向。利用对称性设置,确保生成的共生矩阵满足 P(i,j) = P(j,i),从而保证了旋转不变性的统计基础。
- 特征量化计算:
系统采用组合计算方式。对比度、相关性、能量和同质性通过调用标准图像处理函数获得。由于熵(Entropy)不在标准统计函数库中,程序手动实现了归一化处理逻辑,通过遍历每个方向的矩阵,计算每个非零概率分布的对数加权和,以此反映图像信息的随机度。
- 结果整理与可视化绘制:
系统将提取到的所有数据整合进 Table 数据结构中,方便用户查阅。在可视化环节,利用颜色映射(Jet Colormap)将抽象的矩阵数值转化为直观的热力图,并通过归一化后的条形图展示不同方向下纹理特征的波动趋势。
关键函数与算法分析
- 灰度共生矩阵构建:核心算法通过统计在给定偏移量下,灰度级 i 和 j 同时出现的频数。通过固定 NumLevels 为 32,系统有效过滤了图像噪声并显著提升了计算速度。
- 熵的分段计算:在计算熵指标时,程序专门加入了非零值过滤逻辑。这是为了防止在处理共生矩阵中的零概率元素时出现对数运算错误,从而保证了数学逻辑的严密性。
- 线性归一化展示:在多特征对比图中,由于各指标(如对比度与能量)的数值量级差异巨大,系统对数据进行了归一化缩放处理,使得所有特征趋势能在同一坐标系下清晰呈现。
- 结果注记系统:程序利用 evalc 和 annotation 技术,在图形界面上直接生成了动态的文本标注框,实现了数值结果与图形结果的同屏交互展示。