在matlab中计算GLCM纹理特征

时间:2015-08-06 21:55:32

标签: textures dimension glcm

我想从我的CBIR系统中的图像中提取GLCM纹理特征.... 我应用了以下代码:

S=imread('A1.jpg');  
S=rgb2gray(S);  
I= imresize (S, [350 350]);     

glcm45=graycomatrix(I,'offset',[-1 1],'NumLevel', 8,'Symmetric',true); 
                                                         % 45 engle degree  
glcm135 = graycomatrix(I,'Offset',[-1 -1],'NumLevel', 8,'Symmetric',   true );  % 135 engle degree

GLCM=glcm45+glcm135;

我获得GLCM功能的64(8 * 8)维度,我用它来检索相似图像,我得到了非常好的结果....

我的问题是:我可以将这64个维度视为图像的GLCM特征向量的长度吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以将其视为一项功能。甚至有一篇关于此的研究文章 - 使用GLCM作为进行人脸检测的唯一特征:"共现矩阵及其统计特征作为一种新的人脸识别方法"。这是link

该论文还表明,使用GLCM作为特征比从GLCM衍生的Haralick特征表现更好。此外,GLCM可以在几毫秒内计算(0.5ms - 2ms;我自己在C ++中的实现,256x256 GLCM,所有0,45,90和135度邻域对应),因此它是一个便宜和优秀的功能。