灰度共生矩阵(Grey Level Co-occurrence Matrix)也叫做空间灰度级依赖矩阵(SGLDM),它是一种基于统计的纹理特征提取的方法。
灰度共生矩阵中的元素,表示的是具有某种空间位置关系的两个像素灰度的联合分布。
考虑二阶统计量,研究有空间关系的像素对:
表示即在给定空间距离d和方向θ时,灰度以i为起始点(行),出现灰度级j(列)的概率(对频数进行归一化,即除以所有频数之和)。它构成了灰度共生矩阵的元素。
假设一对像素的空间位置关系表示为δ=(a,b),(a,b)的取值不同,灰度共生矩阵中的值不同。
GLCM将拍摄的图像(用矩阵表示)。
定义角度([“0”,“45”,“90”,“135”]) 和整数距离d([1, 2, 8, 16]__‘1’最优)。
GLCM的轴由图像中存在的灰度级定义。
扫描图像的每个像素并将其存储为“参考像素”。然后将参考像素与距离d的像素进行比较,该距离为角度θ(其中“0”度是右边的像素,“90”是上面的像素)。
远离参考像素,称为相邻像素。每次找到参考值和邻居值对时,GLCM的相应行和列递增1。
(a,b)=(1,0),像素对是水平的,即0度扫描;
(a,b)=(0,1),像素对是垂直的,即90度扫描;
(a,b)=(1,1),像素对是右对角线的,即45度扫描;
(a,b)=(-1,1),像素对是左对角线,即135度扫描。
如图:
灰度共生矩阵的生成流程:
假如现在有一张纹理图像的灰度值分布如下:
图a为原图像,最大灰度级为16。这里将灰度级数压缩为4级,此时的GLCM是4阶方阵(GLCM的阶数等于灰度的等级数)。图a变为图b的形式。
这样(f1,f2)取值范围便为[0,3]。取不同的位置关系,将(f1,f2)各种组合出现的次数排列起来,就可得到图c-d所示的灰度共生矩阵 。
图c表示图b中(x,y)与偏离它的(x+1,y+0)构成点对时,(f1,f2)=(0,1)取值的情况共10种(图b中填充部分)。
同理,图d表示图b中(x,y)分别于点(x+1,y+1)构成的点对(f1,f2)出现的情况。
可以看到,灰度共生矩阵实际上是两个像素点的联合直方图,对于图像中细而规则的纹理,成对像素点的二维直方图倾向于均匀分布;对于粗而规则的纹理,则倾向于最对角分布。
由于灰度共生矩阵的维度较大,一般不直接作为区分纹理的特征,而是基于它构建的一些统计量作为纹理分类特征。
角二阶矩又称能量,是图像灰度分布均匀程度和纹理粗细的一个度量。
若灰度共生矩阵的元素值相近,则能量较小,表示纹理细致;若其中一些值大,而其它值小,则能量值较大。能量值大表明一种较均一和规则变化的纹理模式。
熵度量了图像包含信息量的随机性。
当共生矩阵中所有值均相等或者像素值表现出最大的随机性时,熵最大;因此熵值表明了图像灰度分布的复杂程度,熵值越大,图像越复杂。
度量图像中存在的局部变化。对比度反应了图像的清晰度和纹理的沟纹深浅。纹理越清晰反差越大对比度也就越大。
也叫做逆方差。反映了纹理的清晰程度和规则程度,纹理清晰、规律性较强、易于描述的,值较大。
用来度量图像的灰度级在行或列方向上的相似程度,因此值的大小反应了局部灰度相关性,值越大,相关性也越大。
GLRLM试图量化运行具有相同灰度质量的图像。GLRLM的设置与GLCM略有不同;GLRLM不是沿着表的横坐标具有灰度级,而是具有运行长度。
与GLCM一样,需要一个角度(“0”,“45”,“90”或“135”之一)。下面是使用“0”的示例,请注意图像矩阵与GLCM示例不同:
矩阵的纵坐标是灰度级,而横坐标为每个运行长度。
对于给定长度的每次运行,我们计算每个灰度级长度发生的次数。这里,对于黄色像素,1个像素的游程长度发生3次,对于蓝色像素,游程长度3发生一次。
我们为图像中的所有像素完成此操作以获得最终的GLRLM:
参考博客:
https://blog.csdn.net/kmsj0x00/article/details/79463376
https://blog.csdn.net/guanyuqiu/article/details/53117507