灰度共生矩阵

灰度共生矩阵(GLCM) OR 灰度共现矩阵

这里我觉得叫它共现矩阵更为贴切,因为它代表的是像素对共同出现的概率。
下面是主要内容:

  1. 像素坐标平面(注意其中的术语)
  2. 灰度共现矩阵公式
  3. 归一化处理
  4. 基本符号
  5. 纹理特征

像素坐标平面

图1
1
如图1所示, oxy 为图像像素的坐标平面,灰度坐标为 z 轴, x 方向的像素 总数 N x y 方向像素 总数 N y 。为减少计算量,将图像进行量化,量化后其最高灰度级记为 N g
L x = { 1 , 2 , . . . , N x }
L y = { 1 , 2 , . . . , N y }
G = { 1 , 2 , . . . , N g }

图像 f 理解为从 L x × L y G的一个变换,即对 L x × L y 中的每一个像素,都对应一个属于 G 的灰度。图1中, m , n 代表像素1的行和列, j 代表像素1的灰度值; k , l 代表像素2的行和列, i 代表像素2的灰度值。 d 代表两个像素之间的距离, θ 为连接两像素点的线段与 x 轴成的方向。

灰度共现矩阵公式

定义方向为 θ ,间隔为 d 的灰度共生矩阵为:

p ( i , j , d , θ )
它表示图像中两个灰度值分别为 i , j 的两个像素相距 d ,角度为 θ 。其中 θ =0°,45°,90°,135°,如图2所示.

图2
2
使用 #{…}表示集合中元素的个数。于是有:
P ( i , j , d , 0 ° ) = # { ( ( k , l ) , ( m , n ) ) ( L y × L x ) × ( L y × L x ) | k m = 0 , | l n | = d ; f ( k , l ) = i , f ( m , n ) = j }
P ( i , j , d , 45 ° ) = # { ( ( k , l ) , ( m , n ) ) ( L y × L x ) × ( L y × L x ) | k m = d , l n = d   o r   ( k m = d , l n = d ) ; f ( k , l ) = i , f ( m , n ) = j }
P ( i , j , d , 90 ° ) = # { ( ( k , l ) , ( m , n ) ) ( L y × L x ) × ( L y × L x ) | | k m | = d , l n = 0 ; f ( k , l ) = i , f ( m , n ) = j }
P ( i , j , d , 135 ° ) = # { ( ( k , l ) , ( m , n ) ) ( L y × L x ) × ( L y × L x ) | k m = d , l n = d   o r   ( k m = d , l n = d ) ; f ( k , l ) = i , f ( m , n ) = j }

上述公式看似复杂,其实对照图1理解起来较为简单,重点理解 集合的概念
举个栗子:

行\列\灰度值 1 2 3 4
1 0 0 1 1
2 0 0 1 1
3 0 2 2 2
4 2 2 2 3

                        表1
表1代表了一幅灰度图像,图像大小为4×4,灰度级为0,1,2,3; 由于这里从零开始计数,因此,

L x = { 1 , 2 , 3 , 4 }
L y = { 1 , 2 , 3 , 4 }
G = { 0 , 1 , 2 , 3 }
N x =4, N y =4, N g =3
在该图像中,如果要求 p ( i , j , d , 0 ° ) ,首先要列举出水平方向上,距离相距为1的点对集合:

(1,1),(1,2) (1,2),(1,1) (1,2),(1,3) (1,3),(1,2) (1,3),(1,4) (1,4),(1,3)
(2,1),(2,2) (2,2),(2,1) (2,2),(2,3) (2,3),(2,2) (2,3),(2,4) (2,4),(2,3)
(3,1),(3,2) (3,2),(3,1) (3,2),(3,3) (3,3),(3,2) (3,3),(3,4) (3,4),(3,3)
(4,1),(4,2) (4,2),(4,1) (4,2),(4,3) (4,3),(4,2) (4,3),(4,4) (4,4),(4,3)

                        表2
注:可以看出,这样的排列是有顺序的,水平方向上间距为1的排列共有 2 ( N x 1 ) × N y 种(每一行有 2 ( N x 1 ) 种排列,共 N y 行);以此类推,45°方向上间距为1的排列共有 2 ( N x 1 ) × ( N y 1 ) ,垂直方向上间距为1的排列共有 2 ( N x 1 ) × N y 种,135°方向上间距为1的排列共有 2 ( N x 1 ) × ( N y 1 ) ,将以上四种排列相加得到归一化常数R。
根据表1,我们可以可到四个方向上间距为1的共生矩阵。灰度共生矩阵以灰度值为行列轴坐标,与图像的大小并无关系。根据表1、2,我们可以得到水平方向上间距为1、大小为4×4的共生矩阵,行列轴坐标可取值为0,1,2,3.举例:在 ( 0 ° d = 1 ) 共生矩阵(0,0)位置的元素值表示在水平方向上相距 d 的两像素灰度值分别为0和1,这样的像素对个数,在表1中,共有4对,其位置分别为[(1,1),(1,2)],[(1,2),(1,1)],[(2,1),(2,2)],[(2,2),(2,1)]。以此类推,得到表1四个方向上间距为1的共生矩阵如下:

4 2 1 0
2 4 0 0
1 0 6 1
0 0 1 2

               ( 0 ° d = 1 )

4 1 0 0
1 2 2 0
0 2 4 1
0 0 1 0

               ( 45 ° d = 1 )

6 0 2 0
0 4 2 0
2 2 2 2
0 0 2 0

               ( 90 ° d = 1 )

2 1 3 0
1 2 1 0
3 1 0 2
0 0 2 0

               ( 135 ° d = 1 )
              

归一化处理

在上面我们介绍了归一化常数R,归一化处理也是正规化处理,标准化处理,即将灰度共生矩阵除以该常数R得到一个概率矩阵。换言之,灰度共生矩阵中的每个元素值都是在某方向上间隔 d 的像素对共同出现的个数,除以总的个数,就得到了像素对共同出现的概率。

基本符号

p ( i , j ) 表示 ( θ , d ) 共生矩阵中像素对共同出现的概率,= P ( i , j ) / R 。(注意大小写 )
p x ( i ) 表示 ( θ , d ) 共生矩阵中第 i 行的概率和,= j = 1 N g p ( i , j ) 。(i是灰度值 )
p y ( j ) 表示 ( θ , d ) 共生矩阵中第 j 行的概率和,= i = 1 N g p ( i , j ) 。(j是灰度值 )

纹理特征

均值

μ x = i = 1 N g i j = 1 N g p ( i , j ) = i = 1 N g i p x ( i )
μ y = j = 1 N g j i = 1 N g p ( i , j ) = j = 1 N g j p y ( j )
注意:如果灰度共生矩阵是对称阵,那么 μ x μ y 一般来说是相等的。

方差

σ x = i = 1 N g j = 1 N g ( i μ x ) 2 p ( i , j ) = i = 1 N g ( i μ x ) 2 p x ( i )
σ x = i = 1 N g j = 1 N g ( j μ y ) 2 p ( i , j ) = j = 1 N g ( j μ x ) 2 p y ( j )

角二阶矩、对比度、相关性、熵等特征不在列举,可在引用中查找

本人在图像检索方面属于刚入门的新手,上述内容若有错误的地方,还请读者大佬批评指正。
最后奉上引用的资源链接https://download.csdn.net/download/saw009/10364977

REFERENCES

[1] Haralick R M, Shanmugam K, Dinstein I. Textural Features for Image Classification[J]. Systems Man & Cybernetics IEEE Transactions on, 1973, smc-3(6):610-621.
[2] 周明全. 基于内容图像检索技术[M]. 清华大学出版社, 2007.
[3] https://wenku.baidu.com/view/364508b3e109581b6bd97f19227916888486b90d.html?from=search

猜你喜欢

转载自blog.csdn.net/saw009/article/details/80031209