在matlab中计算GLCM纹理特征

Compute GLCM texture feature in matlab

我想从我的 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;

我得到 64(8*8) 维度的 GLCM 特征,我用它来检索相似图像,我得到了很好的结果....

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

是的,您可以将其视为一项功能。甚至还有一篇关于此的研究文章——使用 GLCM 作为进行人脸检测的唯一特征:"Co-occurence Matrix and its Statistical Features as a New Approach for Face Recognition"。这是 link.

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