2

我正在尝试在 MATLAB 中为彩色图像创建基于内容的图像检索系统 (CBIR),并使用 k-means 算法来提取数据库中图像的特征向量。每个图像有四个簇,每个簇都有关于颜色(R,G,B)和位置(X,Y)的信息。

我现在正在尝试向我的集群添加纹理特征,并且需要为此使用灰度共现矩阵 (GLCM)。我知道 GLCM 只是某个灰度级出现在另一个旁边的概率的指标,并且已经为我的图像创建了 GLCM。

我不清楚如何将 GLCM 映射到原始图像(以及它的簇),因为 GLCM 谈论像素对,我希望每个 X、Y 位置都有纹理信息。如何将 GLCM 转换为像素?

4

1 回答 1

3

GLCM 的输出似乎是一个 T×T 矩阵,其中 T 是图像中不同灰度级别的数量。因此,此矩阵的大小并不真正取决于图像的大小。该矩阵还描述了整个图像的纹理,因此将 GLCM 数据与单个像素相关联并不是特别有意义。

听起来您可以为单个集群计算 GLCM,因为这将描述该集群内的纹理?我认为graycomatrix需要一个矩形图像,但您可以找到每个集群的边界框并分别从中提取 GLCM。

如果您想从 GLCM 矩阵中获取一些更有意义的信息(即适合作为“特征”的信息),您可以使用返回 4 个汇总统计信息的graycoprops 。

于 2012-04-09T14:31:01.243 回答