灰度共生矩阵的纹理描述子
纹理描述子(纹理特征):最大概率、相关、对比度、能量、同质、熵
I=imread('C:\Users\Jv\Desktop\纹理3.jpg'); gray=rgb2gray(I); GS=graycomatrix(gray,'NumLevels',256);%水平位置算子计算共生矩阵 GSn=GS/sum(GS(:));%归一化矩阵 stats=graycoprops(GS,'all');%共生矩阵的描述子 maxProbability=max(GSn(:));%最大概率 corr=stats.Correlation;%相关 contrast=stats.Contrast;%对比度 energy=stats.Energy;%能量 hom=stats.Homogeneity;%同质 for J=1:size(GSn,1) sumcols(J)=sum(-GSn(J,1:end).*log2(GSn(J,1:end)+eps)); end entropy=sum(sumcols);%熵 Y=[maxProbability,corr,contrast,energy,hom,entropy];
(1)最大概率:最大像素对的概率。
(2)相关:它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小。如果图像中有水平方向纹理,则水平方向矩阵的COR大于其余矩阵的COR值。
(3)对比度:反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。灰度公生矩阵中远离对角线的元素值越大,CON越大。
(4)能量:是灰度共生矩阵元素值的平方和,所以也称能量,反映了图像灰度分布均匀程度和纹理粗细度。如果共生矩阵的所有值均相等,则ASM值小;相反,如果其中一些值大而其它值小,则ASM值大。当共生矩阵中元素集中分布时,此时ASM值大。ASM值大表明一种较均一和规则变化的纹理模式。
(5)同质(逆差距):反映图像纹理的同质性,度量图像纹理局部变化的多少。其值大则说明图像纹理的不同区域间缺少变化,局部非常均匀。
(6)熵:是图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,当共生矩阵中所有元素有最大的随机性、空间共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大。它表示了图像中纹理的非均匀程度或复杂程度。
【函数讲解】
GS=graycomatrix(gray,'NumLevels',256,‘Offset’,offsets);
'NumLevels' 一个整数,代表是将图像中的灰度归一范围。举例来说,如果NumLevels为8,意思就是将图像I的灰度映射到1到8之间,它也决定了灰度共生矩阵的大小
'Offset' 是一个p*2的整数矩阵,D代表是当前像素与邻居的距离,通过设置D值,即可设置角度。默认[0,1]水平
Angle Offset
0 [0 D]
45 [-D D]
90 [-D 0]
135 [-D -D]
【灰度共生矩阵简介】
共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。
图像的灰度共生矩阵是像素距离和角度的矩阵函数,它通过计算图像中一定距离和一定方向的两点灰度之间的相关性,来反映图像在方向、间隔、变化幅度及快慢上的综合信息。