了解灰度共生矩阵(GLCM)的纹理属性

时间:2018-07-22 08:47:02

标签: python entropy information-theory

我试图理解来自灰度共现矩阵的纹理属性。因此,我为MNIST测试集,CIFAR10测试集和一组随机噪声集分别计算了10000个样本的相异性,相关性,对比度,均匀性,ASM和能量。我用直方图可视化了所有样本的这些纹理属性(请参见下文)。

为了进行计算,我将skimage软件包用于python。

这是我的代码:

import numpy as np
import matplotlib.pyplot as plt
from skimage.feature import greycomatrix, greycoprops

stats = ["dissimilarity", "correlation", "contrast", "homogeneity", "ASM", "energy"]

def greycomatrix_stats(img):
    glcm = greycomatrix(img, distances=[1], angles=[0], levels=256, symmetric=True, normed=True)
    return [greycoprops(glcm, stats[0])[0,0],\
            greycoprops(glcm, stats[1])[0,0],\
            greycoprops(glcm, stats[2])[0,0],\
            greycoprops(glcm, stats[3])[0,0],\
            greycoprops(glcm, stats[4])[0,0],\
            greycoprops(glcm, stats[5])[0,0]]

I = rgb2gray(load_data())
S = np.zeros((I.shape[0], 6)) 

for k, img in zip(range(I.shape[0]), I):
    S[k,:] = greycomatrix_stats(img)

我用直方图可视化S的三个不同数据集,并得到以下信息:

MNIST:

enter image description here

CIFAR10:

enter image description here

随机噪声:

enter image description here

我的问题是:

  • 我正确使用了greycomatrix()吗?
  • distancesangles参数代表什么?
  • 我可以从有关数据集的直方图中获得哪些信息?
  • 最重要的是:各个纹理属性真正告诉我们什么?

我非常感谢任何信息,这些信息可以帮助我更好地理解该技术。谢谢!

0 个答案:

没有答案