基于MATLAB的GLCM和GLDS纹理特征提取

一、GLCM(灰度共生矩阵)

1. 原理与核心参数

GLCM通过统计图像中像素对的灰度值在特定方向(θ)和距离(d)下的共现频率,构建二维矩阵。主要特征包括:

  • 对比度(Contrast):衡量灰度差异程度
  • 同质性(Homogeneity):反映局部灰度均匀性
  • 能量(Energy):纹理均匀性的度量
  • 熵(Entropy):纹理复杂度指标

2. MATLAB实现代码

% 读取图像并灰度化
img = imread('texture.jpg');
grayImg = rgb2gray(img);

% 计算GLCM矩阵(距离d=1,角度θ=0°)
glcm = graycomatrix(grayImg, 'Offset', [0 1], 'NumLevels', 256);

% 提取纹理特征
stats = graycoprops(glcm, {'Contrast', 'Homogeneity', 'Energy', 'Entropy'});
disp(['对比度: ', num2str(stats.Contrast)]);
disp(['同质性: ', num2str(stats.Homogeneity)]);

3. 参数优化建议

  • 距离(d):通常取1-3像素,过大可能丢失局部特征
  • 角度(θ):0°,45°,90°,135°四个方向需分别计算
  • 灰度级(NumLevels):建议256级(8位图像)

二、GLDS(灰度差分统计)

1. 原理与特征

GLDS通过计算相邻像素的灰度差分分布,捕捉纹理的局部变化特性:

  • 一阶统计量:均值、方差、偏度、峰度
  • 二阶统计量:能量、对比度、同质性

2. MATLAB实现代码

% 计算灰度差分矩阵
[rows, cols] = size(grayImg);
diffMatrix = zeros(rows, cols);
for i = 1:rows-1
    for j = 1:cols-1
        diffMatrix(i,j) = abs(grayImg(i,j) - grayImg(i+1,j+1));
    end
end

% 统计特征
meanVal = mean(diffMatrix(:));
varVal = var(diffMatrix(:));
skewnessVal = skewness(diffMatrix(:));

3. 增强方法

  • 多尺度分析:结合高斯金字塔进行多分辨率处理
  • 方向扩展:增加对角线方向的差分计算

三、方法对比与应用场景

特性 GLCM GLDS
核心思想 基于空间相关性统计 基于灰度差异分布统计
优势 全局纹理特征提取 局部纹理细节捕捉
适用场景 布料、医学影像等规则纹理 岩石、指纹等复杂不规则纹理
计算复杂度 较高(需多方向计算) 较低(单次差分计算)

四、工程优化

1. 预处理增强

% 噪声抑制
denoisedImg = imgaussfilt(grayImg, 1);

% 直方图均衡化
enhancedImg = histeq(grayImg);

2. 特征融合

% GLCM+GLDS特征融合
combinedFeatures = [stats.Contrast, meanVal, varVal];

3. GPU加速

% 使用gpuArray加速计算
if canUseGPU
    glcm_gpu = gpuArray(graycomatrix(gpuArray(grayImg)));
    stats_gpu = graycoprops(glcm_gpu, {'Contrast'});
end

五、典型应用案例

1. 医学影像分析(肺结节检测)

  • GLCM参数:d=1, θ=0°, NumLevels=64
  • 关键特征:对比度>0.8可识别钙化结节
  • 准确率:结合SVM分类器可达92%

2. 工业质检(织物缺陷检测)

  • GLDS参数:差分阈值设为15
  • 缺陷识别:方差>50的区域标记为异常
  • 处理速度:优化后达15fps

六、代码优化建议

  1. 向量化计算:避免双重循环提升效率
  2. 并行计算:使用parfor处理多方向GLCM
  3. 内存管理:大图像分块处理(如2048x2048分4块)

七、参考

  1. 代码 matlab常用纹理特征提取方法(GLCM,GLDS) www.youwenfan.com/contentcnv/65376.html

  2. CSDN文库《MATLAB纹理特征提取方法教程》 wenku.csdn.net/doc/4y86fxg6jd

posted @ 2026-05-28 16:32  bqyfa66984  阅读(15)  评论(0)    收藏  举报