我试图理解来自灰度共现矩阵的纹理属性。因此,我为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:
CIFAR10:
随机噪声:
我的问题是:
greycomatrix()
吗?distances
和angles
参数代表什么?我非常感谢任何信息,这些信息可以帮助我更好地理解该技术。谢谢!