灰度共生矩阵 python
时间: 2023-07-06 16:12:39 浏览: 96
灰度共生矩阵是一种用于描述图像纹理特征的矩阵。在 Python 中,可以使用 skimage 库中的 `greycomatrix` 函数来生成灰度共生矩阵。以下是一个简单的示例代码:
```python
from skimage.feature import greycomatrix
import numpy as np
import matplotlib.pyplot as plt
# 生成示例图像
image = np.array([[0, 0, 0, 0], [0, 1, 1, 0], [0, 1, 1, 0], [0, 0, 0, 0]])
# 计算灰度共生矩阵
glcm = greycomatrix(image, [1], [0, np.pi/4, np.pi/2, 3*np.pi/4], levels=2, symmetric=True, normed=True)
# 可视化灰度共生矩阵
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 8))
for ax, angle in zip(axes.ravel(), [0, np.pi/4, np.pi/2, 3*np.pi/4]):
ax.imshow(glcm[:, :, 0, angle], cmap=plt.cm.gray, interpolation='nearest')
ax.set_title("Angle %d" % (angle * 180 / np.pi))
ax.axis('off')
plt.tight_layout()
plt.show()
```
在上面的代码中,我们首先生成了一个简单的 4x4 矩阵作为示例图像。然后,我们使用 `greycomatrix` 函数计算了该图像的灰度共生矩阵。其中,`[1]` 表示计算距离为 1 的像素对之间的共生矩阵,`[0, np.pi/4, np.pi/2, 3*np.pi/4]` 表示计算四个角度下的共生矩阵,`levels=2` 表示图像中有 2 个灰度级别,`symmetric=True` 表示共生矩阵是对称的,`normed=True` 表示对共生矩阵进行归一化处理。
最后,我们使用 `matplotlib` 库将四个角度下的共生矩阵可视化出来。
阅读全文