python 用灰度共生矩阵提取图像特征
时间: 2024-03-09 21:21:48 浏览: 123
灰度共生矩阵(GLCM)是一种用于描述灰度图像纹理特征的统计方法。它基于灰度级在图像中出现的相对位置来计算图像的纹理特征,可以用于图像分类、检索和分割等应用。
下面是一个使用 Python 提取图像特征的示例:
```python
import numpy as np
from skimage.feature import greycomatrix, greycoprops
from skimage import io, color
# 读取图像并转换为灰度图像
img = io.imread('image.jpg')
gray = color.rgb2gray(img)
# 计算灰度共生矩阵
distances = [1, 2, 3] # 相邻像素距离
angles = [0, np.pi/4, np.pi/2, 3*np.pi/4] # 相邻像素方向
glcm = greycomatrix(gray, distances=distances, angles=angles, symmetric=True, normed=True)
# 计算灰度共生矩阵的特征值
contrast = greycoprops(glcm, 'contrast')
dissimilarity = greycoprops(glcm, 'dissimilarity')
homogeneity = greycoprops(glcm, 'homogeneity')
energy = greycoprops(glcm, 'energy')
correlation = greycoprops(glcm, 'correlation')
# 输出特征值
print('Contrast:', contrast)
print('Dissimilarity:', dissimilarity)
print('Homogeneity:', homogeneity)
print('Energy:', energy)
print('Correlation:', correlation)
```
在这个示例中,我们使用了 scikit-image 库中的 greycomatrix 和 greycoprops 函数来计算灰度共生矩阵及其特征值。我们还使用了 skimage 中的 io 和 color 模块来读取和转换图像。你可以根据自己的需要调整参数以获取更适合你的特征值。
阅读全文