灰度共生矩阵(GLCM)代码
时间: 2023-07-09 17:06:04 浏览: 169
灰度共生矩阵(GLCM)是一种常用的图像纹理分析方法,可以用来描述图像中像素的空间关系。下面是一个简单的 Python 代码示例,用于计算图像的 GLCM:
```python
import numpy as np
from skimage.feature import greycomatrix, greycoprops
from skimage import io, color
# 读取图像
img = io.imread('image.png')
# 转换为灰度图像
img_gray = color.rgb2gray(img)
# 计算灰度共生矩阵
glcm = greycomatrix(img_gray, distances=[1], angles=[0, np.pi/4, np.pi/2, 3*np.pi/4], levels=256, symmetric=True, normed=True)
# 计算灰度共生矩阵的特征值
contrast = greycoprops(glcm, 'contrast')
dissimilarity = greycoprops(glcm, 'dissimilarity')
homogeneity = greycoprops(glcm, 'homogeneity')
energy = greycoprops(glcm, 'energy')
correlation = greycoprops(glcm, 'correlation')
ASM = greycoprops(glcm, 'ASM')
print('Contrast:', contrast)
print('Dissimilarity:', dissimilarity)
print('Homogeneity:', homogeneity)
print('Energy:', energy)
print('Correlation:', correlation)
print('ASM:', ASM)
```
在上述代码中,我们首先使用 skimage 库中的 `rgb2gray` 函数将彩色图像转换为灰度图像,然后使用 `greycomatrix` 函数计算灰度共生矩阵。其中,`distances` 参数指定用于计算灰度共生矩阵的像素间距离,`angles` 参数指定用于计算灰度共生矩阵的像素间方向,`levels` 参数指定图像的灰度级数,`symmetric` 参数指定是否将灰度共生矩阵对称化,`normed` 参数指定是否对灰度共生矩阵进行归一化。
然后,我们使用 `greycoprops` 函数计算灰度共生矩阵的特征值,包括对比度(`contrast`)、不相似度(`dissimilarity`)、同质性(`homogeneity`)、能量(`energy`)、相关性(`correlation`)和 ASM(`ASM`)。最后输出这些特征值。
阅读全文