灰度共生矩阵 python
时间: 2023-07-06 10:12:48 浏览: 99
在Python中,可以使用NumPy库来计算图像的灰度共生矩阵。以下是一个示例代码:
```python
import numpy as np
from PIL import Image
# 读入图像并转换为灰度图像
img = Image.open('image.jpg').convert('L')
# 计算灰度共生矩阵
gray_levels = 256 # 灰度级别
distances = [1] # 距离
angles = [0, np.pi/4, np.pi/2, 3*np.pi/4] # 方向
glcm = np.zeros((gray_levels, gray_levels, len(distances), len(angles)))
for d in distances:
for a in angles:
dx = d * np.cos(a)
dy = -d * np.sin(a)
for i in range(img.size[0]):
for j in range(img.size[1]):
x1 = i
y1 = j
x2 = int(i + dx)
y2 = int(j + dy)
if x2 >= 0 and x2 < img.size[0] and y2 >= 0 and y2 < img.size[1]:
glcm[img.getpixel((x1, y1)), img.getpixel((x2, y2)), distances.index(d), angles.index(a)] += 1
# 归一化灰度共生矩阵
glcm_norm = glcm / np.sum(glcm)
# 输出灰度共生矩阵
print(glcm_norm)
```
在这个示例代码中,我们使用PIL库来读入图像并转换为灰度图像。然后,我们计算灰度共生矩阵,其中灰度级别为256,距离为1,方向为0度、45度、90度和135度。最后,我们对灰度共生矩阵进行归一化处理,并输出结果。
阅读全文