我昨天看到了这篇论文。在本文中,特征被视为对比度、局部均匀性和能量,它们都是单个值(据我所知),但根据 skimage 函数greycomatrix
,传递给这些的参数是distances
和angles
(可能不止一个)。
这是我的代码:
import numpy as np
import cv2
from skimage.feature import greycomatrix, greycoprops
from skimage import io, color, img_as_ubyte
img = cv2.imread('Grape___Black_rot28.JPG')
gray_image = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
distances = [1, 2, 3]
angles = [0, np.pi/4, np.pi/2, 3*np.pi/4]
glcm = greycomatrix(gray_image,
distances=distances,
angles=angles,
symmetric=True,
normed=True)
properties = ['contrast', 'energy', 'homogeneity', 'correlation', 'dissimilarity']
contrast = greycoprops(glcm, properties[0])
energy = greycoprops(glcm, properties[1])
homogeneity = greycoprops(glcm, properties[2])
correlation = greycoprops(glcm, properties[3])
dissimilarity = greycoprops(glcm, properties[4])
让我困惑的是,如果我生成一个 glcm 的对比度属性,它将是 3x4 大小,但根据论文,它是一个值,即使我将所有属性的所有 3x4 值视为一个特征,我敢打赌它会有一个支持向量机模型的过拟合问题。