也欢迎⼤家转载本篇⽂章。分享知识,造福⼈民,实现我们中华民族伟⼤复兴!
Prerequisites
概念
优酷盛典
真开心网计算⽅式
对于精度要求⾼且纹理细密的纹理分布,我们取像素间距为)出现的次数,如图所⽰,共出现九次,在两个⽅向上即是18次。 matlab
使⽤灰度共⽣矩阵(GLCM)描述和提取图像纹理特征,是⼀个强⼤且流⾏的⼯具,⾃然matlab⼯具箱会提供相应的函数——graycomatrix : 给出⼀个图像矩阵,设置⼀些参数,得到其灰度共⽣矩阵,这就是函数的基本⽤法:
主要的参数有⼆个,分别是1. NumLevels (灰度级数)最终glcm 的size是NumLevels *NumLevels 1. Offset (⽅向[0, 1; -1, 1; -1, 0; -1, -1]):[glcm, SI] = graycomatrix(I, ...)
1
[0, 1]中的1表⽰的偏移数(offset),当然也可以取2或者更多,如上⽂所说,对于精度要求⾼且图像纹理本⾝即很丰富的图像来说,为了更精细地刻画,我们取偏移量(offset)为1。我们将原始I 转换为SI ,对SI 计算GLCM,SI 中元素的值介于[1, NumLevels]之间。
demo
这⾥先写⼀个demo,稍微有点难懂的地⽅在于灰度共⽣矩阵的计算⽅式,然后是⼀些编程上的循环判断。其他⽅向的情况还未考虑(在第三和第四层循环的地⽅可能会略有不同),以及将其封装成⼀个函数的操作还是留待以后吧:
煤矿领导带班下井及安全监督检查规定
UTC时间References
[1]
给我⽼师的⼈⼯智能教程打call !I = [ 1 1 5 6 8 8; 2 3 5 7 0 2; 0 2 3 5 6 7 ];[glcm, SI] = graycomatrix(I , 'NumLevels', 9, 'G', [])% 'Offset'的default 值为`[0, 1]` 1
2
3
帕累托改进
4
glcm = 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
1
2
3
4clear, clcP = [ 0 1 2 0 1 2 1 2 0 1 2 0 2 0 1 2 0 1 0 1 2 0 1 2 1 2 0 1 2 0 2 0 1 2 0 1];[r, c] = size(P);P_u = unique(P); % 去重,得到所有的灰度级
1
2
3
内含报酬率4