灰度共生矩阵

1、灰度共生矩阵(GLCM)的Tutorial 。

2、一个实例 ,个人认为很有助于理解。

在图像中任意去一点(x,y)及偏离它的一点(x+a,y+b)(其中,a、b为整数,人为定义)构成点对。设该点对的灰度值为(f1,f2),再令点(x,y)在整幅图像上移动,则会得到不同的(f1,f2)值。
         设图像的最大灰度级为L,则f1与f2的组合共有L*L种。对于整幅图像,统计出每一种(f1,f2)值出现的次数,然后排列成一个方阵,再用(f1,f2)出现的总次数将他们归一化为出现的概率P(f1,f2),由此产生的矩阵为 灰度共生矩阵
         如下图为一个简单的计算实例。图a为原图像,最大灰度级为16。为表示方便,这里将灰度级数减小到了4级,图a变为图b的形式。这样,(f1,f2)取值范围便为[0,3]。取不同的间隔,将(f1,f2)各种组合出现的次数排列起来,就可得到图e~g所示的灰度共生矩阵。e表示图b中(x,y)与偏离它的(x+1,y+0)构成点对时,(f1,f2)取值的情况(填充黄色部分为f1取0,f2取1时的情况,由图b填充易知共10种)。同理,f,g分别表示图c,d中(x,y)分别与点(x+1,y+1),(x+2,y+0)构成点对时点对(f1,f2)出现的情况(图c填充黄色部分表示f1取0,f2取0时,对角线点对(0,0)出现的情况,共8种;图d填充黄色部分表示f1取0,f2取2时水平点对(0,2)出现的情况,共9种)。例如,对于a=1,b=0,点对中(0,1)的组合共出现了10次。对比可以看出,(0,1),(1,2),(2,3)和(3,0)均有较高的出现频数。图b表明,图像中存在明显的左上右下方向的纹理。
一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正    一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正    一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正   一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正
 
一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正   一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正   一个简单的灰度共生矩阵计算实例 - wlb321xy - 博正  
 
 
        距离(a,b)的取值不同,灰度共生矩阵中的值不同。a和b的取值要根据纹理周期分布的特性来选择,对于较细的纹理,选取(1,0),(1,1),(2,0)等这样的值是有必要的。a,b取值较小对应于变化缓慢的纹理图像,其灰度共生矩阵对角线上的数值较大。纹理的变化越快,则对角线上的数值越小,而对角线两侧的值增大。
       共生矩阵实际上是两个像素点的联合直方图。对于图像中细而规则的纹理,成对像素点的二维直方图倾向于均匀分布;对于粗而规则的纹理,则倾向于作对角分布。
 
3、灰度共生矩阵到处的 特征参数以及代表的意义
    

共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。

     一幅图象的灰度共生矩阵能反映出图象灰度关于方向、相邻间隔、变化幅度的综合信息,它是分析图象的局部模式和它们排列规则的基础。

  设f(x,y)为一幅二维数字图象,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为

P(i,j)=#{(x1,y1),(x2,y2)∈M×N|f(x1,y1)=i,f(x2,y2)=j}

  其中#(x)表示集合x中的元素个数,显然P为Ng×Ng的矩阵,若(x1,y1)与(x2,y2)间距离为d,两者与坐标横轴的夹角为θ,则可以得到各种间距及角度的灰度共生矩阵P(i,j,d,θ)。

纹理特征提取的一种有效方法是以灰度级的空间相关矩阵即共生矩阵为基础的[7],因为图像中相距(Δx,Δy)的两个灰度像素同时出现的联合频率分布可以用灰度共生矩阵来表示。若将图像的灰度级定为N级,那么共生矩阵为N×N矩阵,可表示为M(Δx,Δy)(h,k),其中位于(h,k)的元素mhk的值表示一个灰度为h而另一个灰度为k的两个相距为(Δx,Δy)的像素对出现的次数。
  对粗纹理的区域,其灰度共生矩阵的mhk值较集中于主对角线附近。因为对于粗纹理,像素对趋于具有相同的灰度。而对于细纹理的区域,其灰度共生矩阵中的mhk值则散布在各处。

    为了能更直观地以共生矩阵描述纹理状况,从共生矩阵导出一些反映矩阵状况的参数,典型的有以下几种:

(1)能量: 是灰度共生矩阵元素值的平方和,所以也称能量,反映了图像灰度分布均匀程度和纹理粗细度。如果共生矩阵的所有值均相等,则ASM值小;相反,如果其中一些值大而其它值小,则ASM值大。当共生矩阵中元素集中分布时,此时ASM值大。ASM值大表明一种较均一和规则变化的纹理模式。

(2)对比度: ,其中 。反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。灰度公生矩阵中远离对角线的元素值越大,CON越大。

(3)相关:它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小。如果图像中有水平方向纹理,则水平方向矩阵的COR大于其余矩阵的COR值。

(4)熵: 是图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,当共生矩阵中所有元素有最大的随机性、空间共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大。它表示了图像中纹理的非均匀程度或复杂程度。

(5)逆差距: 反映图像纹理的同质性,度量图像纹理局部变化的多少。其值大则说明图像纹理的不同区域间缺少变化,局部非常均匀。

其它参数:

中值<Mean>

协方差<Variance>

同质性/逆差距<Homogeneity>

反差<Contrast>

差异性<Dissimilarity>

熵<Entropy>

二阶距<Angular Second Moment>

自相关<Correlation>

4、若是时间充足可以看一下 里和 这里。另外感觉这个 很好:
  

 

 

转载于:https://www.cnblogs.com/20150705-yilushangyouni-Jacksu/p/6135334.html

灰度共生矩阵(Gray Level Co-occurrence Matrix, GLCM)是图像处理和计算机视觉领域常用的一种特征提取方法。它可以用来描述图像像素之间的空间关系,进而提取图像纹理特征。在实际应用,GLCM可以被用来进行图像分类、图像识别、目标检测等任务。 MATLAB是一款强大的数学计算软件,其提供了丰富的工具箱和函数,方便用户进行各种数学计算和处理。在MATLAB,可以使用graycomatrix函数来计算图像的灰度共生矩阵。 在进行GLCM计算前,需要先将图像转换为灰度图像。这可以通过使用MATLAB的rgb2gray函数来实现。 接下来,可以使用graycomatrix函数来计算灰度共生矩阵。该函数的输入参数包括灰度图像和方向。可以使用0、45、90、135度四个方向来计算GLCM。一般情况下,选择0度方向即可。 计算完成后,可以使用MATLAB提供的graycoprops函数来提取灰度共生矩阵的统计特征,例如对比度、相关性、能量、熵等。这些特征可以用来描述图像的纹理信息。 下面是一个简单的MATLAB代码示例,用于计算图像的灰度共生矩阵及其统计特征: ``` % 读取图像 img = imread('test.jpg'); % 转换为灰度图像 gray_img = rgb2gray(img); % 计算灰度共生矩阵 glcm = graycomatrix(gray_img, 'Offset', [0 1], 'GrayLimits', [], 'NumLevels', 256, 'Symmetric', true); % 提取灰度共生矩阵的统计特征 stats = graycoprops(glcm, {'Contrast','Correlation','Energy','Homogeneity'}); % 显示计算结果 disp(stats.Contrast); disp(stats.Correlation); disp(stats.Energy); disp(stats.Homogeneity); ``` 通过这个示例,我们可以看到如何使用MATLAB来计算图像的灰度共生矩阵及其统计特征。当然,GLCM计算方法并不仅限于MATLAB,其他编程语言或软件也提供了相应的工具和函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值