matlab计算灰度共生矩阵
(2015-12-10 18:20:32)
标签:
图像处理matlab |
分类: 图像处理 |
对于灰度图像常用计算纹理的方法之一是计算灰度共生矩阵,matlab为计算灰度共生矩阵提供了一个函数graycomatrix,这对于我们来说比较方便了,不用自己写代码了。
0
0
2 0
0
0 0
0
0
1
0 0
0
1 0
0
0
0
0 2
0
0 0
0
0
0
0 0
0
2 0
0
0
0
0 0
0
0 0
0
0
0
0 0
0
0 2
1
0
0
0 0
0
0 0
2
1
0
0 0
0
0 0
1
2
2
6 7
8
8
3
4
6 8
1
3
1
3
4 6
7
8
0
0
2 0
0
0 0
0
0
0
1
0 0
0
1 0
0
0
0
0
0 2
0
0 0
0
0
0
0
0 0
0
2 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 2
1
0
0
0
0 0
0
0 0
1
1
1
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
1
0
0
0 1
0
0 0
0
1
0
0
0 0
0
0 0
0
0
0
1
0 0
0
1 0
0
0
0
0
0 0
0
1 0
1
0
0
0
0 0
0
0 0
0
0
1
0
0 0
0
0 1
0
0
0
0
1 0
0
0 0
0
0
0
0
0 0
0
0 0
0
1
0
0
0 0
0
0 0
0
0
0
0
1 0
0
0 0
0
1
0
0
0 0
0
0 0
0
0
0
1
0 1
0
0 0
0
1
0
1
0 0
0
1 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
1 0
1
0
1
0
0 0
0
0 0
0
0
0
0
1 0
0
0 1
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 1
0
0
0
0
0 0
0
0 0
0
0
0
0
1 0
0
0 0
0
1
0
1
0 1
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
1
0 0
0
1 0
0
0
0
0
0 0
0
0 0
1
0
1
0
0 0
0
1 0
0
0
0
0
0 0
0
0 0
0
0
2
2
6 7
9
9
3
4
6 8
1
3
1
3
4 6
7
8
0
0
0 0
0
0 0
0
2
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
1
0
0 0
0
0 0
0
12
0
0
0 0
0
0 0
0
2
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
1
0
0 0
0
0 0
0
7
0
0
0 0
0
0 0
0
2
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
1
0
0 0
0
0 0
0
9
0
0
0 0
0
0 0
0
1
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
0
0
0 0
0
0 0
0
0
1
0
0 0
0
0 0
0
8
如:
>> I = [ 1 1 5 6 8 8; 2 3 5 7 0 2; 0 2 3 5 6 7];
>> [glcm,SI] =
graycomatrix(I,'NumLevels',8,'G',[])
结果是:
glcm =
SI =
如果想计算不同方向的灰度共生矩阵,可以如下进行:
>> [glcm,SI] =
graycomatrix(I,'Offset',[0,1;-1,1;-1,0;-1,-1],'NumLevels',9,'G',[])
结果是:
glcm(:,:,1) =
glcm(:,:,2) =
glcm(:,:,3) =
glcm(:,:,4) =
SI =
其中'G'是参数'GrayLimits',如果不想出现的话,可以如下执行:
>> glcm =
graycomatrix(I,'Offset',[0,1;-1,1;-1,0;-1,-1],'NumLevels',9)
结果如下:
glcm(:,:,1) =
glcm(:,:,2) =
glcm(:,:,3) =
glcm(:,:,4) =